【问题标题】:Hadoop Non-splittable TextInputFormatHadoop不可分割的TextInputFormat
【发布时间】:2012-06-10 14:30:33
【问题描述】:

有没有办法将整个文件发送到映射器而不被拆分?

我已阅读this,但我想知道是否有另一种方法可以做同样的事情而无需生成中间文件。理想情况下,我希望 Hadoop 的命令行上有一个现有选项。

我在 Amazon EMR 上使用带有 Python 脚本的 streaming 工具。

【问题讨论】:

    标签: python hadoop amazon-web-services streaming amazon-emr


    【解决方案1】:

    只需将配置属性mapred.min.split.size 设置为巨大的(10G):

    -D mapred.min.split.size=10737418240
    

    或使用不可拆分的编解码器 (Gzip) 压缩输入文件。使用 .gz 扩展名,TextInputFormat 将向 isSplittable(FileSystem, Path) 方法返回 false

    【讨论】:

    • 这个属性对 hadoop 0.20.205 仍然有效吗?我仍然对 EMR 支持的“新旧”API 感到困惑......拜托。
    • 是的,流式传输使用旧 API,并且此属性在 20.205 - line 221 - svn.apache.org/viewvc/hadoop/common/tags/release-0.20.205.0/src/… 的源代码中有详细说明
    • 我的理解是mapred = oldapi, mapreduce = new api
    猜你喜欢
    • 1970-01-01
    • 2019-09-23
    • 2013-05-15
    • 2016-11-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-06
    • 1970-01-01
    • 2019-08-07
    相关资源
    最近更新 更多