需要对Hadoop集群中特定作业的映射器的估计做一些澄清。根据我的理解,映射器的no取决于用于处理的输入分割。但是,如果我们要对已经驻留在HDFS中的输入数据进行处理,情况就是如此。在这里,我需要澄清由SQOOP作业触发的映射器和减速器。PFB.
谢谢。
发布于 2016-12-29 15:14:45
需要对Hadoop集群中特定作业的映射器的估计做一些澄清。根据我的理解,映射器的no取决于用于处理的输入分割。但是,如果我们要对已经驻留在HDFS中的输入数据进行处理,情况就是如此。在这里,我需要澄清由SQOOP作业触发的映射器和减速器。PFB.
答:不,这与内存大小无关。这都取决于输入拆分的数量。
答:默认情况下,Sqoop作业的映射器数为4。可以使用-m (1、2、3、4、5.)更改默认设置。或者-num-mappers参数,但是您必须确保您的db中有主键,或者您正在使用-拆分-by参数,否则只有一个映射器在运行,您必须显式地说-m 1。
答: CPU中的核心是可以运行任务的处理单元。当你说4个核心处理器时,这意味着它可以一次运行4个任务。核数不参与mapreduce框架计算映射器的数量。但是是的,如果有4个内核,mapreduce计算出映射器的数量为12,那么在同一时间,4个映射器将并行运行,其余的映射器将连续运行。
发布于 2016-12-29 20:42:43
-m <number of mappers>选项来更改此选项。参考: Sqoop并行https://stackoverflow.com/questions/41373574
复制相似问题