【问题标题】:how to control concurrent mappers in HBase如何控制 HBase 中的并发映射器
【发布时间】:2018-08-30 17:16:57
【问题描述】:

我有一个导入 hive 外部表 (Hbase) 的工作。由于我的数据太大,我看到 500 个映射器已打开并正在执行。但是我想控制需要同时执行的并发映射器的数量。

我的期望是。 让 hive 仍然创建 500 个映射器。但我希望一次只执行 100 个映射器。

不确定如何控制并发映射器。

非常感谢任何帮助。提前致谢!!

【问题讨论】:

标签: java hive hbase hadoop-yarn


【解决方案1】:

我的期望是。让 hive 仍然创建 500 个映射器。但我希望一次只执行 100 个映射器。

不知道这是什么意思。但是,如果您希望控制映射器的数量,一种方法是控制输入拆分,如下所示:

set mapreduce.input.fileinputformat.split.maxsize= <some number>;
set mapreduce.input.fileinputformat.split.minsize= <some number>;

设置输入的最大和最小大小将帮助您控制映射器。

您也可以尝试设置 hive 中的映射器数量:

SET mapreduce.job.maps=100

希望这会有所帮助:)

【讨论】:

  • 感谢 Rishu 提供的信息。这个(set mapreduce.input.fileinputformat.split.maxsize= ;)根据我们设置的数字分割文件,并且为每个分割分配一个映射器。所有的映射器同时开始运行。但我正在寻找解决方案,比如让它根据拆分的数量创建映射器。但我不希望所有这些都同时运行。例如,基于拆分创建了 100 个映射器。但我希望一次只运行 10 个。一旦这 10 个完成,接下来将需要 10 个执行。希望我现在解释清楚一点。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-01-31
  • 1970-01-01
  • 2019-09-24
  • 1970-01-01
  • 2012-12-22
  • 1970-01-01
  • 2020-10-08
相关资源
最近更新 更多