데이터 전송 2.7sqoop 속도 향상

영어 아파치 Sqoop을 요리 책 - 번역! 배우고
더 많은 정보를 https://blue-shadow.top/

문제

Sqoop을 대형 데이터 전송의 양,하지만 어떻게 빨리 Sqoop을 만드는을 처리 할 수있는 강력한 도구입니다.

솔루션

매개 변수를 사용하여 일부 데이터베이스의 --direct 직접 연결을 활용할 수 있습니다.

sqoop import \
--connect jdbc:mysql://msyql.example.com/sqoop \
--username sqoop \
--table cities  \
--direct

토론

대신 데이터를 전송하는 다이렉트 모드 위임 JDBC 인터페이스를 사용하지만, 단위 유틸리티 데이터베이스 벤더에 전송되는 데이터. MySQL로, 예를 들어,
mysqldump를하고 mysqlimport가이 데이터를 얻거나 데이터 것 쓸 수. PostgreSQL를 들어, 데이터를 가져 pg_dump에 활용 Sqoop을. 될 수있는 지역의 유틸리티를 사용하여
데이터베이스 서버의 부담을 줄이면서 그들이 최고의 전송 속도를 제공하도록 최적화 한, 크게 향상된 성능을 제공합니다. 그러나이 빠른 수입의 사용에 몇 가지 제한이 처음이 있습니다 :하지
로컬로 사용할 도구를 사용하여 모든 데이터베이스,이 모델을 직접 모든 데이터베이스에 대한 효과가 없습니다, 현재는 MySQL의 PostgreSQL를위한 Sqoop을 잘 지원 직접.

모든 데이터 전송 동작이 인한 직접적인 데이터 전송 지연 작용 응용 도구의 데이터 전송로의 MapReduce 작업 생성을 수행하기 때문에,이 필요하다
하둡 TaskTracker 활성 노드에서 사용되는 로컬 어플리케이션을 보장 예를 들면 : 사용 MySQL의에서 각 서버에 TaskTracker가와에는 mysqlimport를 설치해야
mysqldump는을

기본 유틸리티는 일반적으로 텍스트 출력, 바이너리 형식 또는 SequenceFile 브로 작동하지 않습니다으로 생산으로 직접 모드의 또 다른 한계는, 모든 매개 변수를 지원하지 않습니다.
또한, 다음과 같은 경우 : 사용자 정의 이스케이프 문자를 입력 매핑, 열 및 행 구분 기호 또는 대안 NULL 문자열 매개 변수가 지원되지 않을 수 있습니다.

HTTPS : //www.jianshu.com/p/2caf1d7707bb 재현

추천

출처blog.csdn.net/weixin_33757609/article/details/91186119