【问题标题】:hadoop orc table taking only one mapper all the timehadoop orc table 一直只占用一个映射器
【发布时间】:2016-05-03 05:34:33
【问题描述】:

在我当前的项目中,我正在使用具有快速压缩格式的 Orc 文件,我运行的任何查询都只使用一个映射器运行。我尝试配置 mapred.max.split.size 和 mapred.min.split。大小,但没有显示映射器数量的任何变化。reducer 数量足够好,但是由于映射器是单个映射器,所以运行一个简单查询的时间就像。

select x,max(y) from z group by x ;完成映射器需要将近 20 分钟。 我还应该做些什么来增加映射器的数量。

请不要告诉它使用分区或存储桶,因为我已经在我的表中使用它们了。

【问题讨论】:

  • Hive 的哪个版本?使用 MapReduce 的 TEZ?有多少物理文件? ORC 条带尺寸?在表上收集统计信息? EXPLAIN 计划有意义吗?尝试使用默认的 GZip 压缩?顺便说一句,实际的分区键是什么 - X,Y,还有什么?尝试使用 select X, max(YY) from (select PART, X, max(Y) as YY from Z group by PART, X) Duh group by X 强制分区映射器?
  • Hive 版本-2.3.0.0

标签: sql hadoop hive orc bigdata


【解决方案1】:

尝试使用 tblproperties orc.stripe.size。

条带大小的默认值为 256 MB,从技术上讲,每个条带有一个映射器。随着单条大小的减小,您可以增加映射器的数量。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-18
    • 1970-01-01
    • 1970-01-01
    • 2019-12-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多