我正在使用Parquet工具来合并Parquet文件。但似乎Parquet工具需要与合并文件一样大的内存量。Parquet工具中是否有其他方法或可配置选项来更有效地使用内存?因为我在hadoop env上以Map作业的形式运行合并作业。而容器每次都会被杀死,因为它使用的内存比提供的内存多。谢谢您。
k7fdbhmy1#
我不建议使用Parquet工具合并,因为它只是一个接一个地放置行组,所以您仍然会有小组,只是打包在一个文件中。生成的文件通常不会有明显更好的性能,在某些情况下,它甚至可能比单独的文件性能更差。详见Parquet-1115。目前,合并Parquet文件的唯一正确方法是从Parquet文件中读取所有数据并将其写入新的Parquet文件。您可以通过mapreduce作业(为此需要编写自定义代码)或使用spark、hive或impala来完成。
1条答案
按热度按时间k7fdbhmy1#
我不建议使用Parquet工具合并,因为它只是一个接一个地放置行组,所以您仍然会有小组,只是打包在一个文件中。生成的文件通常不会有明显更好的性能,在某些情况下,它甚至可能比单独的文件性能更差。详见Parquet-1115。
目前,合并Parquet文件的唯一正确方法是从Parquet文件中读取所有数据并将其写入新的Parquet文件。您可以通过mapreduce作业(为此需要编写自定义代码)或使用spark、hive或impala来完成。