2017-04-09 42 views
1

我在这里有一个很大的困惑。当我们上传/插入/放入数据时,我们知道基于块大小和复制因子将数据存储在块中。而且Map只能在处理数据时才起作用。上传/插入数据到HDFS时涉及映射器reducer吗?

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

回答

1

极品的MapReduce取决于写操作的类型。

hdfs dfs -put-copyFromLocal这样的操作在将数据从LocalFS写入HDFS时不使用MapReduce。而DistCp,执行帧间/簇内HDFS数据复制,而使用映射器。同样,Sqoop使用映射器将数据导入HDFS。蜂巢的LOAD陈述不,而INSERT的做。

而且他们是Mapper只MapReduce作业。

我使用MRV2当我在我的表

我认为,你将数据插入蜂巢表的插入任何数据。 Hive中的INSERT声明使用Mappers。

有没有一个映射器和减速器,当插入/上传 数据到HDFS?

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

+0

我尝试了所有的东西。插入,distcp涉及映射器和reducer.Thanks你的时间! @franklinsijo – codaholic

0

HDFS客户端在与名称节点查询块位置后,直接写入datanodes。不需要mappers或reducer。

编号:Architecture of HDFS Read and Write

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

如果写入HDFS每个文件是MapReduce的过程,然后YARN ResourceManager的UI将记录这一切,所以如果你不相信我,检查有没有

0

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