如何为 sqoop 作业设置 vcore
Posted
技术标签:
【中文标题】如何为 sqoop 作业设置 vcore【英文标题】:How to set vcores for sqoop job 【发布时间】:2017-09-13 11:24:11 【问题描述】:sqoop 是如何获取 vcore 来执行的。我提交了一个包含 4 个映射器的 sqoop 作业,即使有大约 50 个 vcore 可用,应用程序也以 1 个 vcore 开始。所以没有并行化。这是将 sqoop 作业导入文本文件。这些是纱线中关于 vcrore 分配的配置参数。 sqoop 作业如何获取 vcore 以执行?
<property>
<name>yarn.scheduler.maximum-allocation-vcores</name>
<value>4</value>
<source>yarn-site.xml</source>
</property>
<property>
<name>yarn.app.mapreduce.am.resource.cpu-vcores</name>
<value>1</value>
<source>mapred-default.xml</source>
</property>
<property>
<name>mapreduce.reduce.cpu.vcores</name>
<value>1</value>
<source>mapred-default.xml</source>
</property>
<property>
<name>yarn.nodemanager.resource.cpu-vcores</name>
<value>8</value>
<source>yarn-default.xml</source>
</property>
<property>
<name>mapreduce.map.cpu.vcores</name>
<value>1</value>
<source>mapred-default.xml</source>
</property>
<property>
<name>yarn.scheduler.minimum-allocation-vcores</name>
<value>1</value>
<source>yarn-site.xml</source>
</property>
<property>
<name>yarn.scheduler.increment-allocation-vcores</name>
<value>1</value>
<source>yarn-site.xml</source>
</property>
【问题讨论】:
【参考方案1】:来自https://sqoop.apache.org/docs/1.4.6/SqoopUserGuide.html#_controlling_parallelism
Sqoop 从大多数数据库源并行导入数据。您可以使用 -m 或 --num-mappers 参数指定用于执行导入的映射任务(并行进程)的数量。
映射任务与 vcore 相同。
【讨论】:
谢谢。我将 --num-mappers 提供给 4 并且我可以选择的行为是有时我获得并行性,为每个映射器分配 1 个 4 个 vcore)并且有时应用程序仅获得 1 个 vcore(即使有超过 1 个可用的 vcore)每个映射器一个接一个地运行。我不明白为什么会这样。以上是关于如何为 sqoop 作业设置 vcore的主要内容,如果未能解决你的问题,请参考以下文章