调优sqoop导出性能

e3bfsja2  于 2021-06-02  发布在  Hadoop
关注(0)|答案(2)|浏览(736)

我正在使用aws emr上的sqoop将20亿条记录从hive导出到oracle数据库。我试过了 --batch 以及 --num-mappers 已经有助于提高性能的参数。
是否进行调谐 -Dsqoop.export.statements.per.transaction 以及 -Dsqoop.export.records.per.statement 有帮助吗?
期待关于其他优化参数的建议,以提高出口吞吐量。

vd2z7a6w

vd2z7a6w1#

你试过把 --direct 选择?我已经看到,这会根据您的oracle版本提高oracle导入的性能。

hyrbngr7

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模式
尝试每一种方法并采用一种适合你的方法。

相关问题