documentation에 따르면, Sqoop은 read committed transaction isolation을 사용합니다. 따라서 Sqoop이 수행 한 (하나 이상의) SELECT
쿼리가 실행되면 "선택된"레코드가 하이브에 삽입 될 레코드가됩니다 (태그로 인해 하이브로 데이터를 가져 오는 것으로 가정합니다). 당신은 질문에서 사용했습니다). 따라서 최종적으로 가져올 레코드 수 (5M 또는 5.5M 레코드)를 결정하는 것은 전체 가져 오기 프로세스에 걸리는 총 시간이 아닌 SELECT
쿼리의 실행입니다.
사용하려고하는 매퍼의 수 (매개 변수 --num-mappers
)를 지정하여 가져 오기 프로세스의 병렬 처리를 제어 할 수 있습니다. 각 매퍼는 독립적 인 SELECT
쿼리를 수행합니다.
또한 가져 오기 프로세스가 완료된 후 데이터베이스에 추가 된 새 데이터를 검색하기 위해 incremental imports을 사용할 수도 있습니다. 또한 free-form queries을 사용하여 데이터베이스로 가져올 데이터 양을보다 세밀하게 제어 할 수 있습니다.