6
当在互联网上搜索和阅读有关此主题的答案时,我收到了令人困惑的消息。任何人都可以分享经验?我知道一个事实,即gzipped csv不是,但是Parquet的文件内部结构可能会导致Parquet vs csv完全不同。在HDFS中对Spark进行gizipped Parquet文件拆分吗?
当在互联网上搜索和阅读有关此主题的答案时,我收到了令人困惑的消息。任何人都可以分享经验?我知道一个事实,即gzipped csv不是,但是Parquet的文件内部结构可能会导致Parquet vs csv完全不同。在HDFS中对Spark进行gizipped Parquet文件拆分吗?
GZIP压缩的Parquet文件实际上是可拆分的。这是因为Parquet文件的内部布局。这些总是可拆分的,独立于使用的压缩算法。
这其实主要是由于平面文件的设计,在下面的部分分为:
您可以在这里找到更详细的解释:https://github.com/apache/parquet-format#file-format
谢谢您的回答。只是想确认一下。这些技术上会是.gz.parquet文件而不是parquet.gz文件,对吗?它只是像Microsoft Polybase这样的产品在以实木复合格式从外部导出数据时生成.gz文件,而我还没有验证它是否是由其自身或文件块内部压缩的文件。 – YuGagarin
是的,他们应该是'gz.parquet'。压缩应该通过Parquet实现在Parquet内完成。如果您有一个首先生成Parquet并在其上运行GZIP的工具,则这些工具实际上是无效的Parquet文件。对于Parquet,格式的某些部分不被压缩(例如头部)是非常重要的。这些部件很小(通常大约一个或两个KiB),但压缩它们会导致显着的性能损失。 – xhochy