在这里我有一个很大的困惑,当我们上传/插入/放入hadoop hdfs中的数据时,我们知道数据是基于块大小和复制因子存储在块中的。而且map reduce只在处理数据时起作用。当我在一个表中插入任何数据时,我使用的是mrv2。我可以看到有map reduce进度条。那么这里的确切图片是什么。实际上,在将数据插入/上载到hdfs时是否涉及到Map器和还原器?
ccgok5k51#
从本地复制数据或将数据放入hdfs时,不使用mapreduce。
eqfvzcg82#
是否需要mapreduce取决于写入操作的类型。操作如 hdfs dfs -put 或者 -copyFromLocal 将数据从localfs写入hdfs时不要使用mapreduce。鉴于 DistCp ,使用Map器执行集群间/集群内hdfs数据复制。同样地, Sqoop 使用Map器将数据导入hdfs。Hive LOAD 语句在 INSERT 是的。而且他们只是Map绘制者的工作。当我在一个表中插入任何数据时,我使用的是mrv2我假设您正在向配置单元表中插入数据。 INSERT 配置单元中的语句使用Map器。在将数据插入/上传到hdfs时是否涉及Map器和还原器?不总是这样。基于写操作,需要Map器。
hdfs dfs -put
-copyFromLocal
DistCp
Sqoop
LOAD
INSERT
q9rjltbz3#
hdfs客户机在与namenode协商块位置后直接写入datanode。无需Map器或还原器。参考:hdfs读写架构因为有一个进度条,并不意味着它是一个mapreduce进程。如果写入hdfs的每个文件都是mapreduce进程,那么warn resourcemanager ui会记录所有文件,所以如果您不相信我,请查看这里
3条答案
按热度按时间ccgok5k51#
从本地复制数据或将数据放入hdfs时,不使用mapreduce。
eqfvzcg82#
是否需要mapreduce取决于写入操作的类型。
操作如
hdfs dfs -put
或者-copyFromLocal
将数据从localfs写入hdfs时不要使用mapreduce。鉴于DistCp
,使用Map器执行集群间/集群内hdfs数据复制。同样地,Sqoop
使用Map器将数据导入hdfs。HiveLOAD
语句在INSERT
是的。而且他们只是Map绘制者的工作。
当我在一个表中插入任何数据时,我使用的是mrv2
我假设您正在向配置单元表中插入数据。
INSERT
配置单元中的语句使用Map器。在将数据插入/上传到hdfs时是否涉及Map器和还原器?
不总是这样。基于写操作,需要Map器。
q9rjltbz3#
hdfs客户机在与namenode协商块位置后直接写入datanode。无需Map器或还原器。
参考:hdfs读写架构
因为有一个进度条,并不意味着它是一个mapreduce进程。
如果写入hdfs的每个文件都是mapreduce进程,那么warn resourcemanager ui会记录所有文件,所以如果您不相信我,请查看这里