Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Hadoop 是什么导致mapreduce作业仅为hbase中的100000行创建一个映射_Hadoop_Mapreduce_Hbase - Fatal编程技术网

Hadoop 是什么导致mapreduce作业仅为hbase中的100000行创建一个映射

Hadoop 是什么导致mapreduce作业仅为hbase中的100000行创建一个映射,hadoop,mapreduce,hbase,Hadoop,Mapreduce,Hbase,我想知道是什么配置导致mapreduce只有一个映射,而在作业配置中设置了10000的输入拆分和1000的每映射行数 这是一个2节点的集群,我尝试使用startRow和endRow进行扫描 我希望至少有两个映射,每台机器上一个。HBase表上的M/R任务默认情况下在区域边界上拆分。如果10K行只有一个区域,则只能得到一个映射器 如果您只有一个区域,那么您可以简单地拆分表中的区域,并有两个区域,从而有两个映射器。这是一个行键问题。行键由相同的前缀组成,只存储在一个RS中。每个节点上有50多个区域。

我想知道是什么配置导致mapreduce只有一个映射,而在作业配置中设置了10000的输入拆分和1000的每映射行数

这是一个2节点的集群,我尝试使用startRow和endRow进行扫描


我希望至少有两个映射,每台机器上一个。

HBase表上的M/R任务默认情况下在区域边界上拆分。如果10K行只有一个区域,则只能得到一个映射器


如果您只有一个区域,那么您可以简单地拆分表中的区域,并有两个区域,从而有两个映射器。

这是一个行键问题。行键由相同的前缀组成,只存储在一个RS中。

每个节点上有50多个区域。我每天排10万排。。每天分割区域可行吗?除了手动分割区域之外,还有其他选择吗?事先提到这一点会很有帮助。正如@tousif所说,这是一个关键问题。您想要的是让您的密钥随机分布在您的各个区域,或者使用真实密钥的散列,或者使用salt前缀