티스토리 뷰

Sqoop은 MYSQL, Oracle, Postgresql과 같은 RDBMS와 HDFS, Hive, Hbase와 같은 하둡 에코시스템 사이에서 데이터를 주고 받을 수 있게 해줍니다.

 

이번 글에서는 MYSQL에서 HDFS로 스쿱을 사용해 데이터를 import하는 방법에 대해 알아보겠습니다.

 

먼저 quickstart에 설치되어있는 MYSQL에 접속하기위해 mysql -u root -p를 입력하고 패스워드는 cloudera를 입력해줍니다.

show databases를 해보면 이미 여러 database가 있는 것을 확인할 수 있습니다.

 

이번에 사용할 데이터는 retail_db라는 database에 있는 테이블을 사용합니다.

use retail_db로 retail_db를 선택하고 show tables를 통해 들어있는 테이블들을 확인해봅니다.

 

MYSQL의 show databases 명령과 동일한 명령을 아래 sqoop 명령어로 확인할 수 있습니다.

 

아래 스쿱 명령은 show tables와 동일합니다.

 

이제 MYSQL에서 확인했던 retail_db의 customers라는 테이블을 HDFS로 import합니다.

database는 localhost/ 뒤에 입력해주고 table은 --table 옵션에 입력해줍니다.

--fields-terminated-by 라는 옵션에 '\t'라고 하는 것은 탭 간격으로 field(column)들을 구분시켜 준다는 뜻입니다.

import 명령어를 정상적으로 실행하면 쭉 실행하다 맵리듀스를 진행하는 것을 확인할 수 있습니다.

스쿱도 하둡과 마찬가지로 import, export에 대한 job을 맵리듀스로 실행합니다.

import를 마치고 HDFS내에 customers 데이터들이 정상적으로 이동된 것을 확인할 수 있습니다.