1

我正在努力寻找如何在 Spark API 中指定 parquet 文件编写器的行组大小。

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

从 fastparquet 导入写入

write 有参数:row_group_offsets

另外, row_group size 的最佳数字是多少?

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

预先感谢您的帮助

4

2 回答 2

1

Parquet 参数是 hadoop 选项的一部分,可以在 parquet write 命令之前设置,如下所示:

val sc : SparkContext // An existing SparkContext.
sc.hadoopConfiguration.setInt("parquet.block.size", 1024 * 1024 * 1024)
于 2017-10-25T02:20:13.013 回答
-1

谢谢罗伯托。似乎修改分区数(默认为 600)也有帮助。现在我可以使用 parquet-tools 看到我的 parquet 文件的块大小增加了。我有100万行。

但是使用 spark 加载我的数据并进行简单的计数操作仍然很慢。我正在谈论的数据集只有 400 万行和 15 列

于 2017-10-26T21:05:05.933 回答