관계형 데이터베이스와 HDFS · Hive 사이에서 데이터를 대량으로 옮기는 도구다. JDBC 로 테이블을 읽어 MapReduce 잡으로 HDFS 에 쓰고(import), 반대로 HDFS 의 파일을 테이블에 넣는다(export).
Apache Sqoop 은 2021년 6월 은퇴해 Apache Attic 으로 옮겨졌다[1]. 마지막 릴리스는 1.4.7 이며 더 이상 개발 · 보안 패치가 없다[2]. Sqoop 2(1.99.x)는 정식 출시 없이 끝났다. 새로 만드는 파이프라인에는 Spark JDBC 소스, NiFi, Debezium(CDC) 을 쓴다. Cloudera CDP 7.x 에는 Sqoop 1 이 아직 들어 있어 기존 잡을 유지할 수는 있다.
sqoop import --connect jdbc:mysql://[마스터 노드 Private IP]:3306/[데이터베이스이름] --username [클러스터 관리자 계정명] --password [클러스터 관리자 패스워드] --table [대상테이블]
| 인수 | 설명 |
|---|---|
--connect <jdbc-uri> |
JDBC 연결 문자열 지정 |
--connection-manager <class-name> |
사용할 연결 관리자 클래스 지정 |
--driver <class-name> |
사용할 JDBC 드라이버 클래스를 수동으로 지정할 때 사용 |
--hadoop-home <dir> |
$HADOOP_HOME 지정 |
--help |
도움말 |
-P |
콘솔에서 비밀번호 읽기 |
--password <password> |
인증 암호 설정 |
--username <username> |
인증 사용자 이름 설정 |
--verbose |
작업하는 동안 더 많은 정보를 출력할 때 사용 |
--connection-param-file <filename> |
연결 매개 변수를 제공하는 선택적 특성 파일 지정 |
비밀번호는 명령줄에 두지 말고 -P 로 입력받거나 --password-file 로 HDFS 의 권한 제한된 파일에서 읽는다. 명령줄 인수는 프로세스 목록과 셸 히스토리에 남는다.
| 명령 | 설명 |
|---|---|
| codegen | Generate code to interact with database records |
| create-hive-table | Import a table definition into Hive |
| eval | Evaluate a SQL statement and display the results |
| export | Export an HDFS directory to a database table |
| help | List available commands |
| import | Import a table from a database to HDFS |
| import-all-tables | Import tables from a database to HDFS |
| import-mainframe | Import datasets from a mainframe server to HDFS |
| job | Work with saved jobs |
| list-databases | List available databases on a server |
| list-tables | List available tables in a database |
| merge | Merge results of incremental imports |
| metastore | Run a standalone Sqoop metastore |
| version | Display version information |
MySQL 테이블을 Hive 테이블로 바로 가져온다. -m 1 은 매퍼 하나 — 기본키가 없는 테이블은 분할 기준이 없어 -m 1 이거나 --split-by 를 줘야 한다.
sqoop import --connect jdbc:mysql://[마스터 노드 Private IP]:3306/sqoop \
--username [클러스터 관리자 계정명] \
-P --table sqoop_test \
--hive-import --create-hive-table --hive-table sqoop_workspace.sqoop_test -m 1
--query 를 쓴다.sqoop export 를 돌렸는데 날짜·시각 값이 정확히 9시간 어긋나는 경우가 있다.…Apache Sqoop — Attic. 2021년 6월 은퇴, 7월 이관 완료 — 2026-09-20 확인. https://attic.apache.org/projects/sqoop.html ↩︎
마지막 릴리스 1.4.7 — 2026-09-20 확인. https://archive.apache.org/dist/sqoop/1.4.7/ ↩︎