스쿱은 대량의 데이터를 아파치 하둡과 RDBMS 사이에서 전송하기 위해 디자인 된 툴이다.
- 2012년 3월 아파치 톱레벨 프로젝트로 지정
- 현재 1.4.6이 최신 버전(2017.03.10)
- 스쿱2의 최신버전은 1.99.7, 스쿱1과 호환된지 않음, 아직 정식 릴리즈 되지 않음
<주요 기능>
- import: DB -> HDFS 로 데이터를 가져온다.
- export: HDFS -> DB 로 데이터를 가져온다.
<import - DB의 데이터를 HDFS로 이동 시킴>
[query 옵션을 이용하는 경우]
- DB의 데이터를 쿼리로 조회하여 target-dir 위치로 복사
sqoop import \
--connect jdbc:mysql://loclhost:7777/db?zeroDateTimeBehavior=convertToNull \
--username scott \
--password tiger \
--query 'select * from sample_table WHERE $CONDITIONS' \
--split-by column3 \
--target-dir hdfs://localhost/user/hadoop/
[table, columns, where 옵션을 이용하는 경우 와 큐이름을 지정하는 경우]
sqoop import \
-Dmapred.job.queue.name=queue \
--connect jdbc:mysql://loclhost:7777/db?zeroDateTimeBehavior=convertToNull \
--username scott \
--password tiger \
--table sample_table \
--columns column1 \
--where column3=\"eu\" \
--target-dir hdfs://localhost/user/hadoop/
<export - HDFS의 데이터를 DB로 이동 시킴>
[insert 하기]
- HDFS의 데이터를 DB에 insert 함, export-dir 위치의 데이터를 table 에 입력
sqoop export
--connect jdbc:mysql://loclhost:7777/db?zeroDateTimeBehavior=convertToNull \
--username scott \
--password tiger \
--table sample_table \
--export-dir hdfs://localhost/user/hadoop/ \