증분 가져 오기으로 시도했지만 그 중 에 또는 으로 마지막으로 수정 된을 추가해야합니다. 수정 된 레코드와 새로운 레코드가 모두 필요합니다.SQOOP를 사용하여 변경 데이터를로드하고 업데이트하는 방법은 무엇입니까?
0
A
답변
0
귀하의 중계가 부분적으로 정확합니다. docs 당으로
,Sqoop을 지원하는 또 다른 테이블 업데이트 전략은 LASTMODIFIED 모드라고합니다. 원본 테이블의 행을 업데이트 할 때이 값을 사용해야하며 마지막으로 수정 된 열의 값이 현재 타임 스탬프로 설정됩니다. --last-value로 지정된 시간 소인보다 더 최근의 시간 소인을 점검 열이 보유하는 행은으로 임포트됩니다.
는
내가name
,
salary
및
updated_on
필드를 갖는 테이블
employees
을 가지고
지금 예를 사용하여이를 이해하려고 할 수 있습니다 (강조 내입니다). 샘플 기록 :
name |salary | updated_on
dev | 2000 | 2016-01-01
일부 직원의 급여가 다음 달에 변경되었으며 일부 신입 사원이 그 달에 가입했습니다.
이제 Sqoop 가져 오기 명령에서 --check-column updated_on
, --incremental lastmodified
및 --last-value "2016-01-01"
을 지정합니다.
--last-value
이후에 추가되거나 업데이트 된 모든 레코드를 가져옵니다.
+0
대단히 감사합니다. 많은 도움을줍니다. 감사 – Nathon
단축 제목; 설명에서 수정 된 실행 - 문장. – Prune