火花写镶木地板文件。如何指定行组大小?

时间:2017-10-24 21:25:33

标签: apache-spark pyspark parquet fastparquet

我很难找到如何在Spark API中指定镶木地板文件编写器的行组大小。

我找到了一种方法,即使用具有此选项的快速镶木地板python模块:

来自fastparquet import write

write有参数:  row_group_offsets

此外,row_group大小的最佳数量是多少?

由于快速镶木地板,我做了一些实验。例如,选择100万的row_groupsize比10 000快10倍。但如果我选择超过100万,它开始减慢我的简单查询。

提前感谢您的帮助

2 个答案:

答案 0 :(得分:1)

Parquet参数是hadoop选项的一部分,可以在镶木地板写入命令之前设置,如下所示:

val sc : SparkContext // An existing SparkContext.
sc.hadoopConfiguration.setInt("parquet.block.size", 1024 * 1024 * 1024)

答案 1 :(得分:0)

谢谢罗伯托。似乎修改分区数(默认为600)也有帮助。现在我可以看到镶木地板工具,我的镶木地板文件的块大小增加了。我一行一百万。

但加载我的数据并进行简单的计数操作仍然很慢。 我所谈论的数据集只有4百万行和15列