压缩编解码器在Azure Data Lake中的影响

时间:2017-06-22 11:07:03

标签: azure hadoop azure-data-lake

清楚且有据可查的是,拆分zip文件的能力对Hadoop中的作业性能和并行化有很大影响。

然而,Azure是基于Hadoop而构建的,并且我在Microsoft文档中找不到任何关于此影响的内容。

这不是ADL的问题吗?

例如,现在GZipping大文件是一种可接受的方法,还是由于压缩编解码器的选择,我会遇到无法并行化工作的问题?

由于

2 个答案:

答案 0 :(得分:1)

无法从随机位置开始读取GZip文件。有必要从头开始阅读。

然后,如果您有一个大的GZip(或其他不可拆分的压缩格式),您无法并行读取/处理它的 ,结束处理所有文件顺序只在一台机器上。

Hadoop(以及其他大数据替代品)的主要思想依赖于不同机器中的并行过程数据。一个大的GZip文件与这种方法不匹配。

有一些数据格式允许使用Gzip压缩 数据页 并保持文件可拆分(每个页面可以在不同的机器中处理,但每个GZip块仍然需要只在一台机器上加工,如Parquet。

答案 1 :(得分:1)

请注意,基于Hadoop,Azure Data Lake Analytics

RojoSam是正确的,GZip是一种糟糕的压缩格式来并行化。

U-SQL会自动识别.gz文件并对其进行解压缩。但是,压缩文件的大小有4GB限制(因为我们无法对其进行拆分和并行处理),我们建议您使用100MB到1GB范围内的文件。

我们正在努力添加Parquet支持。如果您需要其他压缩格式,例如BZip:请在http://aka.ms/adlfeedback提交请求。