【问题标题】:Are mappers reducers involved while uploading/Inserting data to HDFS?将数据上传/插入到 HDFS 时是否涉及映射器减速器?
【发布时间】:2017-04-09 19:29:39
【问题描述】:

我在这里有一个很大的困惑。当我们将数据上传/插入/放入 HADOOP HDFS 时,我们知道数据是根据块大小存储在块中的和复制因子。而且 Map reduce 只在处理数据时起作用。

当我在我的一个表中插入任何数据时,我正在使用 MRV2,我可以看到有 MAP REDUCE 进度条。那么这里的确切图片是什么。实际上,插入时是否涉及映射器和减速器/上传数据到HDFS?

【问题讨论】:

    标签: hadoop hive mapreduce bigdata


    【解决方案1】:

    是否需要 MapReduce 取决于写入操作的类型。

    hdfs dfs -put-copyFromLocal 等操作在将数据从 LocalFS 写入 HDFS 时不使用 MapReduce。而DistCp,用于执行集群间/集群内 HDFS 数据复制,使用 Mappers。同样,Sqoop 使用映射器将数据导入 HDFS。 Hive 的 LOAD 语句不会,而 INSERT 的语句会。

    它们是 Mapper 唯一的 MapReduce 作业。

    当我在我的一张表中插入任何数据时,我正在使用 MRV2

    我假设,您正在将数据插入 Hive 表。 INSERT Hive 中的语句使用 Mappers。

    在插入/上传时是否涉及映射器和缩减器 数据到 HDFS?

    并非总是如此。基于写操作,涉及到映射器。

    【讨论】:

    • 我尝试了所有的东西。插入,distcp 涉及映射器和减速器。感谢您的时间! @franklinsijo
    【解决方案2】:

    HDFS 客户端在与 namenode 协商块位置后直接写入数据节点。不需要映射器或减速器。

    参考:Architecture of HDFS Read and Write

    因为有进度条,不代表它是 MapReduce 进程。

    如果写入 HDFS 的每个文件都是 MapReduce 进程,那么 YARN ResourceManager UI 会全部记录下来,所以如果你不相信我,请检查那里

    【讨论】:

      【解决方案3】:

      从本地复制数据或将数据放入 HDFS 时不使用 MapReduce。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2010-10-23
        • 1970-01-01
        • 2014-09-20
        • 1970-01-01
        • 1970-01-01
        • 2013-11-09
        • 2014-01-17
        相关资源
        最近更新 更多