【问题标题】:Tuning sqoop export performance调整 sqoop 导出性能
【发布时间】:2017-10-30 03:49:43
【问题描述】:

我正在使用 AWS EMR 上的 sqoop 将 20 亿条记录从 hive 导出到 Oracle 数据库。我已经尝试了 --batch--num-mappers 参数,它们已经帮助提高了性能。

调整-Dsqoop.export.statements.per.transaction-Dsqoop.export.records.per.statement 有帮助吗?

期待有关其他调整参数的建议,以提高导出吞吐量。

【问题讨论】:

    标签: oracle hadoop export performance-testing sqoop


    【解决方案1】:

    您是否尝试过包含--direct 选项?我已经看到这会根据您的 oracle 版本提高 Oracle 导入的性能。

    【讨论】:

    • 我已经试过了,使用它比没有它慢一点。除了 Oracle jdbc 驱动程序之外,这还需要什么吗?
    【解决方案2】:

    是否调整 -Dsqoop.export.statements.per.transaction-Dsqoop.export.records.per.statement 有帮助吗?

    1. 是的。参考这个链接: https://community.hortonworks.com/articles/70258/sqoop-performance-tuning.html

      过了一段时间,停止调整 “sqoop.export.records.per.statement”(您可能会遇到 java.lang.OutOfMemoryError) 并开始调整 “sqoop.export.statements.per.transaction”。

    2. 导出性能取决于并行度,所以增加 映射器的数量并查看性能如何提升。

      使用中提到的分区 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

    3. 与上一个答案一样,通过使用“--direct”来使用直接模式 参数

    尝试每种方法并采用适合您的方法。

    【讨论】:

      猜你喜欢
      • 2019-06-10
      • 2018-12-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多