我看到在导入和存储到hdfs时使用了不同的文件格式,数据处理引擎在执行自己的一组过程时也使用了这些格式。因此,这些文件格式有什么不同,以及它们如何针对不同的用例进行选择。作为一个新手,这会造成混乱。请帮助我。
tp5buhyn1#
根据您所拥有的数据类型、与处理工具的兼容性、模式演变、文件大小、查询类型和读取性能,选择取决于您所面对的用例。一般来说:avro更适合于随时间变化的事件数据序列是针对乔布斯先生之间的数据集parquet由于其柱状格式更适合于分析这是一些能帮你的钥匙写作能力(越多+越快)顺序:+++avro:++Parquet地板:+阅读能力(越多+越快)顺序:+avro:+++Parquet地板:++++文件大小(越多+文件越小)顺序:+avro公司:++Parquet地板:+++下面是关于每种文件类型的一些事实avro公司:在模式进化方面更好是面向行的二进制格式具有架构文件除了包含数据外还包含架构。支持模式演化可以压缩紧凑快速的二进制格式Parquet地板:写得慢,读得快是面向列的二进制格式支持压缩在需要查询特定列时,在磁盘i/o方面进行了优化和高效序列文件:是面向行的格式即使数据被压缩也支持拆分可用于在hadoop中打包小文件我希望我的回答能帮助你
1条答案
按热度按时间tp5buhyn1#
根据您所拥有的数据类型、与处理工具的兼容性、模式演变、文件大小、查询类型和读取性能,选择取决于您所面对的用例。
一般来说:
avro更适合于随时间变化的事件数据
序列是针对乔布斯先生之间的数据集
parquet由于其柱状格式更适合于分析
这是一些能帮你的钥匙
写作能力(越多+越快)
顺序:+++
avro:++
Parquet地板:+
阅读能力(越多+越快)
顺序:+
avro:+++
Parquet地板:++++
文件大小(越多+文件越小)
顺序:+
avro公司:++
Parquet地板:+++
下面是关于每种文件类型的一些事实
avro公司:
在模式进化方面更好
是面向行的二进制格式
具有架构
文件除了包含数据外还包含架构。
支持模式演化
可以压缩
紧凑快速的二进制格式
Parquet地板:
写得慢,读得快
是面向列的二进制格式
支持压缩
在需要查询特定列时,在磁盘i/o方面进行了优化和高效
序列文件:
是面向行的格式
即使数据被压缩也支持拆分
可用于在hadoop中打包小文件
我希望我的回答能帮助你