有效合并大拼花文件

时间:2018-05-11 20:27:33

标签: hadoop parquet

我正在使用镶木地板工具来合并镶木地板文件。但看起来镶木地板工具需要的内存量与合并文件一样大。我们在镶木地板工具中是否有其他方法或可配置选项以更有效地使用记忆?因为我在hadoop env上作为地图作业运行合并作业。并且容器每次都会被杀死,因为它使用的内存比提供的内存多。

谢谢。

1 个答案:

答案 0 :(得分:2)

我不建议使用镶木地板工具合并,因为它只是将行组一个接一个地放置,所以你仍然会有一个小组,只是打包在一个文件中。生成的文件通常没有明显更好的性能,在某些情况下甚至可能比单独的文件更差。有关详细信息,请参阅PARQUET-1115

目前合并Parquet文件的唯一正确方法是从中读取所有数据并将其写入新的Parquet文件。您可以使用MapReduce作业(需要为此目的编写自定义代码)或使用Spark,Hive或Impala。

更新:PARQUET-1381添加了一个命令行切换到{{1}}以合并行组。