我正在使用 parquet-tools 来合并 parquet 文件。但 parquet-tools 似乎需要与合并文件一样大的内存。我们是否有其他方法或 parquet-tools 中的可配置选项来更有效地使用内存?因为我在 hadoop env 上将合并作业作为映射作业运行。并且容器每次都会被杀死,因为它使用的内存比提供的内存多。
谢谢。
我不建议使用 parquet-tools merge,因为它只是将行组一个接一个地放置,所以您仍然会有小组,只是打包在一个文件中。生成的文件通常不会具有明显更好的性能,并且在某些情况下它甚至可能比单独的文件性能更差。看实木复合地板-1115 https://issues.apache.org/jira/browse/PARQUET-1115了解详情。
目前,合并 Parquet 文件的唯一正确方法是读取其中的所有数据并将其写入新的 Parquet 文件。您可以使用 MapReduce 作业(需要为此目的编写自定义代码)或使用 Spark、Hive 或 Impala 来完成此操作。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)