我很难找到如何在Spark API中指定镶木地板文件编写器的行组大小。
我找到了一种方法,即使用具有此选项的快速镶木地板python模块:
来自fastparquet import write
write有参数: row_group_offsets
此外,row_group大小的最佳数量是多少?
由于快速镶木地板,我做了一些实验。例如,选择100万的row_groupsize比10 000快10倍。但如果我选择超过100万,它开始减慢我的简单查询。
提前感谢您的帮助
答案 0 :(得分:1)
Parquet参数是hadoop选项的一部分,可以在镶木地板写入命令之前设置,如下所示:
val sc : SparkContext // An existing SparkContext.
sc.hadoopConfiguration.setInt("parquet.block.size", 1024 * 1024 * 1024)
答案 1 :(得分:0)
谢谢罗伯托。似乎修改分区数(默认为600)也有帮助。现在我可以看到镶木地板工具,我的镶木地板文件的块大小增加了。我一行一百万。
但加载我的数据并进行简单的计数操作仍然很慢。 我所谈论的数据集只有4百万行和15列