上传/插入数据到HDFS时是否涉及到mappers减速器?

时间:2017-04-09 19:29:40

标签: hadoop hive mapreduce bigdata

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

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

3 个答案:

答案 0 :(得分:1)

MapReduce的需要取决于Write操作的类型。

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

他们只是Mapper MapReduce的工作。

  

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

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

  

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

并非总是如此。基于写操作,参与了映射器。

答案 1 :(得分:0)

HDFS客户端在查询了块位置的namenode后直接写入datanode。不需要映射器或减速器。

参考:Architecture of HDFS Read and Write

因为有进度条,并不意味着它是MapReduce进程。

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

答案 2 :(得分:0)

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