清楚且有据可查的是,拆分zip文件的能力对Hadoop中的作业性能和并行化有很大影响。
然而,Azure是基于Hadoop而构建的,并且我在Microsoft文档中找不到任何关于此影响的内容。
这不是ADL的问题吗?
例如,现在GZipping大文件是一种可接受的方法,还是由于压缩编解码器的选择,我会遇到无法并行化工作的问题?
由于
答案 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提交请求。