2017-11-18 1 views
0

timestamp가 아닌 다른 컬럼 값을 사용하여 sqoop 가져 오기를 자동화하는 방법이 있습니까? 테이블에 하나의 열 (ID)을 사용하려고했습니다. 그러나 그것은 효과가 없었습니다. 아래는 샘플 코드이며 cloudera hadoop UI를 사용하여 자동화하고 있습니다. 마지막 값이 자동으로 업데이트되지 않는 것이 문제입니다.cloudera hadoop UI를 사용하여 sqoop incremental 자동화하기

  import 
     --connect 
     jdbc:mysql://172.26.122.123:3306/books 
     --username 
     hadoop 
     --password 
     ******** 
     --incremental 
     append 
     --check-column 
     id 
     --last-value 
     0 
     --table 
     authors 
     --as-textfile 
     --fields-terminated-by 
     "," 
     --null-string 
     \0 
     --null-non-string 
     \0 
     --target-dir 
     /user/thilina_08838/source/test 
     -m 
     1 
다음

은 MySQL의 테이블 의 구조 + ----------- + ------------- + ------ + - ---- + --------- + ------- + | 필드 | 유형 | Null | 키 | 기본 | 추가 | + ----------- + ------------- + ------ + ----- + --------- + ------- + | 이드 | int (11) | 예 | | NULL | | | 이름 | varchar (20) | 예 | | NULL | | | 이메일 | varchar (20) | 예 | | NULL | | | 타임 스탬프 | 날짜 시간 | 예 | | NULL | | + ----------- + ------------- + ------ + ----- + --------- + ------- +

답변

0

저장된 sqoop 가져 오기 작업을 사용하여 쉽게 자동화 할 수 있습니다.

sqoop job --create jobname --import --connect 
    jdbc:mysql://172.26.122.123:3306/books 
    --username 
    hadoop 
    --password 
    ******** 
    --incremental 
    append 
    --check-column 
    id 
    --last-value 
    0 
    --table 
    authors 
    --as-textfile 
    --fields-terminated-by 
    "," 
    --null-string 
    \0 
    --null-non-string 
    \0 
    --target-dir 
    /user/thilina_08838/source/test 
    -m 
    1 

당신은 당신의 증분 새로 고침 주파수에 따라 cron 작업 또는 ETL 워크 플로우를두고 있다는 점에서 sqoop --exec jobname를 호출 할 수 있습니다.

자세한 내용은 아래를 참조하십시오.

Sqoop saved job documentation

+0

우리는 클라우 데라 하둡 oozie의 UI에서 그것을 할 수 있습니까? –

+0

어떤 클로 데라 버전을 사용하고 있습니까? –

관련 문제