我正在使用aws emr上的sqoop将20亿条记录从hive导出到oracle数据库。我试过了 --batch 以及 --num-mappers 已经有助于提高性能的参数。是否进行调谐 -Dsqoop.export.statements.per.transaction 以及 -Dsqoop.export.records.per.statement 有帮助吗?期待关于其他优化参数的建议,以提高出口吞吐量。
--batch
--num-mappers
-Dsqoop.export.statements.per.transaction
-Dsqoop.export.records.per.statement
vd2z7a6w1#
你试过把 --direct 选择?我已经看到,这会根据您的oracle版本提高oracle导入的性能。
--direct
hyrbngr72#
是否进行调谐 -Dsqoop.export.statements.per.transaction 以及 -Dsqoop.export.records.per.statement 有帮助吗?对。请参阅此链接:https://community.hortonworks.com/articles/70258/sqoop-performance-tuning.html过了一段时间,停止调整“ sqoop.export.records.per.statement “(你可能会遇到 java.lang.OutOfMemoryError )开始调整“ sqoop.export.statements.per.transaction ".导出性能取决于并行度,因此增加Map器的数量,看看性能如何提高。使用中提到的分区https://sqoop.apache.org/docs/1.4.6/sqoopuserguide.html#_partitioning 虽然已经很老了,但是在这个链接中可以找到相同的体验https://mail-archives.apache.org/mod_mbox/sqoop-user/201406.mbox/%3ccfcdc24c.a85d%25brenden.cobb@humedica.com%3e与前面的回答一样,通过使用“-direct”参数来使用direct模式尝试每一种方法并采用一种适合你的方法。
sqoop.export.records.per.statement
java.lang.OutOfMemoryError
sqoop.export.statements.per.transaction
2条答案
按热度按时间vd2z7a6w1#
你试过把
--direct
选择?我已经看到,这会根据您的oracle版本提高oracle导入的性能。hyrbngr72#
是否进行调谐
-Dsqoop.export.statements.per.transaction
以及-Dsqoop.export.records.per.statement
有帮助吗?对。请参阅此链接:https://community.hortonworks.com/articles/70258/sqoop-performance-tuning.html
过了一段时间,停止调整“
sqoop.export.records.per.statement
“(你可能会遇到java.lang.OutOfMemoryError
)开始调整“sqoop.export.statements.per.transaction
".导出性能取决于并行度,因此增加Map器的数量,看看性能如何提高。
使用中提到的分区https://sqoop.apache.org/docs/1.4.6/sqoopuserguide.html#_partitioning 虽然已经很老了,但是在这个链接中可以找到相同的体验https://mail-archives.apache.org/mod_mbox/sqoop-user/201406.mbox/%3ccfcdc24c.a85d%25brenden.cobb@humedica.com%3e
与前面的回答一样,通过使用“-direct”参数来使用direct模式
尝试每一种方法并采用一种适合你的方法。