【问题标题】:Lzo files not getting split in hive jobsLzo 文件没有在 Hive 作业中拆分
【发布时间】:2015-12-03 07:41:30
【问题描述】:

我们在 s3 中有 3 个 .lzo 文件和对应的 .index 文件。 我们正在这些文件的目录上创建一个外部表。 每个 lzo 文件的大小为 100MB+,每个文件的未压缩大小为 800+MB 块大小为 128MB。 当我们运行 hive 查询时,不幸的是只生成了 3 个映射器,这表明没有发生拆分,可能是什么问题?

【问题讨论】:

    标签: hadoop amazon-web-services amazon-s3 hive lzo


    【解决方案1】:

    仅当压缩文件的大小大于拆分大小时才适用。 Hive 默认拆分大小为 256 MB。

    在 hive 会话中修改拆分大小并运行查询。

    set mapreduce.input.fileinputformat.split.minsize=64000000
    

    【讨论】:

    • 这不起作用,尝试将 mapreduce.input.fileinputformat.split.maxsize 设置为 32 MB,但它不起作用。根据拆分计算公式,我们需要设置 maxsize 参数而不是建议的 minsize,还尝试将 min 和 max 设置为 32 MB,仍然不起作用...还有其他建议吗?
    • 可能是s3造成的。
    • 我们在非 aws 集群中进行了测试,仍然面临同样的问题
    【解决方案2】:

    一切都设置为 30MB。

    set mapreduce.input.fileinputformat.split.maxsize=31457280;
    set mapreduce.input.fileinputformat.split.minsize=31457280;
    set dfs.blocksize=31457280;
    

    我们仍然看到映射器的数量保持不变。这是在普通集群上完成的,而不是在 S3 上。 对于 3 个大小为(229.16 MB、705.79 MB、157.61 MB)的 LZO 文件,我们只看到 10 个映射器

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-01-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-06
      相关资源
      最近更新 更多