2017-10-29 13 views
0

AWS EMR에서 sqoop을 사용하여 2030 레코드을 하이브에서 Oracle 데이터베이스로 내보내고 있습니다. 이미 성능을 높이는 데 도움이 된 --batch--num-mappers 매개 변수를 시도했습니다.sqoop 내보내기 성능 조정

튜닝 -Dsqoop.export.statements.per.transaction-Dsqoop.export.records.per.statement은 도움이됩니까?

내보내기 처리량을 높이기위한 다른 조정 매개 변수에 대한 제안이 필요합니다.

답변

1

--direct 옵션을 포함 해 보았습니까? 오라클의 성능이 오라클 버전에 따라 증가한다는 것을 보았습니다.

+0

나는 그것을 사용해 보았는데, 사용하지 않고 사용했을 때보 다 조금 느렸다. Oracle jdbc 드라이버와 별개로 필요한 것이 있습니까? – narush

1

-Dsqoop.export.statements.per.transaction-Dsqoop.export.records.per.statement 도움이 를 조정합니까?

  1. 예. 이 링크를 참조하십시오 https://community.hortonworks.com/articles/70258/sqoop-performance-tuning.html

    를 어느 시점 후, (당신이 java.lang.OutOfMemoryError가 발생할 수로) "sqoop.export.records.per.statement을"조정 중지하고 "sqoop.export.statements.per.transaction을"조정 시작합니다.

  2. 내보내기 성능은 병렬 처리 정도에 따라 다르므로 수를 늘려 성능이 어떻게 커지는 지 확인하십시오. , 동일에 경험이 링크 이전의 대답으로 https://mail-archives.apache.org/mod_mbox/sqoop-user/201406.mbox/%3CCFCDC24C.A85D%[email protected]%3E

  3. 에서 사용할 꽤 오래지만 https://sqoop.apache.org/docs/1.4.6/SqoopUserGuide.html#_partitioning 에 언급 된 "--direct" 매개 변수를 사용하여 직접 모드를 사용으로

    사용 분할

각 방법을 시도해보고 적합한 방법을 선택하십시오.