我们在s3中有3个.lzo文件和相应的.index文件。我们正在这些文件的目录上创建一个外部表。每个lzo文件的大小是100mb+,每个文件的未压缩大小是800+mb,块大小是128mb。当我们运行配置单元查询时,不幸的是只有3个Map器正在生成,这表明没有发生拆分,这可能是什么问题?
vpfxa7rd1#
一切都设置为30mb。
set mapreduce.input.fileinputformat.split.maxsize=31457280; set mapreduce.input.fileinputformat.split.minsize=31457280; set dfs.blocksize=31457280;
我们仍然看到Map绘制者的数量保持不变。这是在普通集群上完成的,而不是在s3上。对于3个大小为(229.16 mb、705.79 mb、157.61 mb)的lzo文件,我们只看到10个Map器
6rvt4ljy2#
仅当压缩文件的大小大于拆分大小时,才应用拆分表。配置单元的默认拆分大小为256 mb。在配置单元会话中修改拆分大小并运行查询。
set mapreduce.input.fileinputformat.split.minsize=64000000
2条答案
按热度按时间vpfxa7rd1#
一切都设置为30mb。
我们仍然看到Map绘制者的数量保持不变。这是在普通集群上完成的,而不是在s3上。对于3个大小为(229.16 mb、705.79 mb、157.61 mb)的lzo文件,我们只看到10个Map器
6rvt4ljy2#
仅当压缩文件的大小大于拆分大小时,才应用拆分表。配置单元的默认拆分大小为256 mb。
在配置单元会话中修改拆分大小并运行查询。