without haste but without rest

스쿱을 사용해서 MySQL에 저장한 데이터를 HDFS 적재하기 본문

Data Engineering & DataOps/Hadoop

스쿱을 사용해서 MySQL에 저장한 데이터를 HDFS 적재하기

JinungKim 2020. 7. 27. 00:57

0. 환경

- 클라우데라 6.3.1

 

 


1. mysql driver 설치

클라우데라 환경에서 postgre db는 디폴트로 드라이버를 제공하지만 mysql은 드라이버를 제공하지 않는다.  아래 링크를 이용해서 파일을 다운로드 한다.

 wget http://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.1.28.tar.gz

 

 

 

다운로드한 mysql jdbc 드라이버 압축을 푼다.

tar xvf mysql-connector-java-5.1.28.tar.gz

 

 

압축을 풀고 디렉토리에 접근하면 jdbc 파일을 찾을 수 있다. (확장자는 .jar ) 해당 파일을  /opt/cloudera/parcels/CDH/lib/sqoop/lib   로 복사한다. (postger db jdbc 드라이버가 있는 디렉토리다)

 


2. sqoop import 명령어

(1) import MySQL -> HDFS

sqoop import --connect jdbc:mysql://localhost:3306/db_name --username root --P --table table_name -m 1

 

(2) imort 파일 확인하기

hdfs dfs -ls

위 명령어를 사용하면 전체 hdfs 파일을 확인할 수 있다.

 

 

hdfs dfs -ls table_name

table_name이란 테스트용 테이블을 가져왔으므로 위와 같이 테이블 명으로 디렉토리에 접근할 수 있다.

 

 

hdfs dfs -cat table_name/part-m-00000

해당 디렉토리에는 part-m-00000 이란 파일이 생겼다. 해당 파일을 열어서 RDB에서 읽어온 데이터가 제대로 저장되었는지 확인한다.

 


참조 - https://jungwoon.github.io/bigdata/2017/06/18/Sqoop-with-MySQL/
 

Sqoop으로 MySQL 데이터 가져오기 - Jungwoon Blog

Sqoop 을 이용해서 Import 하기 Sqoop RDBMS에 있는 데이터를 특별한 전처리 없이 곧바로 HDFS에 적재하거나, 반대로 HDFS에 저장된 데이터를 RDBMS로 제공해야할때 도와주는 프로젝트 Sqoop의 버전 스쿱1 클

jungwoon.github.io

 

Comments