【发布时间】:2016-03-03 12:13:36
【问题描述】:
我在 HDFS 上有许多 parquet 文件目录,每个目录包含数千个小(大多数
使用以下代码,我可以将本地 parquet 文件重新分区为更少的部分:
val pqFile = sqlContext.read.parquet("file:/home/hadoop/data/file.parquet")
pqFile.coalesce(4).write.save("file:/home/hadoop/data/fileSmaller.parquet")
但我不知道如何通过 Scala 代码以编程方式获取 HDFS 上目录的大小,因此我无法计算出要传递给真实数据集的 coalesce 函数的分区数。
我该怎么做?或者在 Spark 中是否有一种方便的方法,以便我可以配置 writer 以写入固定大小的 parquet 分区?
【问题讨论】:
标签: scala hadoop apache-spark hdfs parquet