在sqoop导入中最多可以执行多少Map器。另外,在使用sqoop导入时,是否存在运行reducer的情况。
suzh9iv81#
1.sqoop导入中最多可以执行多少Map器?增加Map器的数量将导致更高数量的并发数据传输任务,“这可以”导致更快的作业完成。它不会总是导致更快的工作完成。在增加Map器数量的同时,有一个点会使数据库完全饱和。增加Map绘制者的数量超过这一点不会导致更快的工作完成;事实上,它会产生相反的效果,因为您的数据库服务器花费更多的时间进行上下文切换,而不是提供数据。Map器的最佳数量取决于许多变量:1.数据库类型。2.用于数据库服务器的硬件。对数据库需要服务的其他请求的影响。从少量的Map器开始,为您的环境和用例找到最佳的并行度。2.另外,在使用sqoop导入时,是否存在运行reducer的情况。聚合需要缩减器。sqoop的缩减器数量为0,因为它只是一个运行仅Map作业的作业,该作业将数据转储到hdfs中。我们没有聚合任何东西。
h5qlskok2#
sqoop作业使用 4 默认情况下Map任务。可以通过传递 -m 或者 --num-mappers 对工作的争论。对于SqOOP设置的Map器的数量没有最大限制,但与数据库的并发连接的总数是要考虑的因素。阅读更多关于在sqoop中控制并行性的信息。如果表没有定义主键 --split-by 参数未提供给sqoop命令,Map器的数量应显式设置为 1 .sqoop作业没有任何reduce任务。
4
-m
--num-mappers
--split-by
1
fcwjkofz3#
最大Map器数它可以是任何数字,但应该根据数据、资源和所需的并行性进行设置。Map器越多并不意味着性能越高。有减速器运转的情况吗是的-有特殊情况,当sqoop作业可能有减速器时。这里记录了这样一种情况。
sqoop export \ -Dmapred.reduce.tasks=2 -Dpgbulkload.bin="/usr/local/bin/pg_bulkload" \ -Dpgbulkload.input.field.delim=$'\t' \ -Dpgbulkload.check.constraints="YES" \ -Dpgbulkload.parse.errors="INFINITE" \ -Dpgbulkload.duplicate.errors="INFINITE" \ --connect jdbc:postgresql://pgsql.example.net:5432/sqooptest \ --connection-manager org.apache.sqoop.manager.PGBulkloadManager \ --table test --username sqooptest --export-dir=/test -m 2 ``` `mapred.reduce.tasks` -用于转移的reduce任务数。默认值为1。每个任务都在单个事务中进行转移。
3条答案
按热度按时间suzh9iv81#
1.sqoop导入中最多可以执行多少Map器?
增加Map器的数量将导致更高数量的并发数据传输任务,“这可以”导致更快的作业完成。
它不会总是导致更快的工作完成。在增加Map器数量的同时,有一个点会使数据库完全饱和。增加Map绘制者的数量超过这一点不会导致更快的工作完成;事实上,它会产生相反的效果,因为您的数据库服务器花费更多的时间进行上下文切换,而不是提供数据。
Map器的最佳数量取决于许多变量:
1.数据库类型。
2.用于数据库服务器的硬件。
对数据库需要服务的其他请求的影响。
从少量的Map器开始,为您的环境和用例找到最佳的并行度。
2.另外,在使用sqoop导入时,是否存在运行reducer的情况。
聚合需要缩减器。sqoop的缩减器数量为0,因为它只是一个运行仅Map作业的作业,该作业将数据转储到hdfs中。我们没有聚合任何东西。
h5qlskok2#
sqoop作业使用
4
默认情况下Map任务。可以通过传递-m
或者--num-mappers
对工作的争论。对于SqOOP设置的Map器的数量没有最大限制,但与数据库的并发连接的总数是要考虑的因素。阅读更多关于在sqoop中控制并行性的信息。如果表没有定义主键
--split-by
参数未提供给sqoop命令,Map器的数量应显式设置为1
.sqoop作业没有任何reduce任务。
fcwjkofz3#
最大Map器数
它可以是任何数字,但应该根据数据、资源和所需的并行性进行设置。Map器越多并不意味着性能越高。
有减速器运转的情况吗
是的-有特殊情况,当sqoop作业可能有减速器时。
这里记录了这样一种情况。