【问题标题】:Hadoop merge filesHadoop 合并文件
【发布时间】:2016-10-01 18:31:51
【问题描述】:

我已经使用 674 个映射器运行了一个仅映射作业,其中 hive 已经生成了 674 个 .gz 文件我想将这些文件合并到大约 30-35 个文件。尝试了 hive megre mapfilse 属性,但没有获得合并的输出

【问题讨论】:

    标签: hive hiveql


    【解决方案1】:

    尝试使用TEZ 执行引擎,然后使用hive.merge.tezfiles。您可能还想指定大小。

    set hive.execution.engine=tez; -- TEZ execution engine
    set hive.merge.tezfiles=true; -- Notifying that merge step is required
    set hive.merge.smallfiles.avgsize=128000000; --128MB
    set hive.merge.size.per.task=128000000; -- 128MB
    

    如果你想使用MR引擎然后添加以下设置(我没有亲自尝试过)

    set hive.merge.mapredfiles=true; -- Notifying that merge step is required
    set hive.merge.smallfiles.avgsize=128000000; --128MB
    set hive.merge.size.per.task=128000000; -- 128MB
    

    以上设置将产生一个合并文件的步骤,每个部分文件的大约大小应为 128MB。

    参考:

    【讨论】:

      猜你喜欢
      • 2016-12-30
      • 2012-09-17
      • 2018-03-12
      • 2019-05-08
      • 2013-10-30
      • 2011-04-02
      • 1970-01-01
      • 2013-12-10
      • 1970-01-01
      相关资源
      最近更新 更多