Hadoop

Sqoop <-> Hive 명령어

집못가는프로그래머 2021. 9. 28. 12:23

**SQL의 DB에 있는 데이터를 Hive를 통해 hdfs에 저장

sqoop import --connect jdbc:mysql://localhost:3306/userdb?serverTimezone=UTC --username user1 --password user1pwd --table emp -m 1 --hive-import --fields-terminated-by "," --columns "id,name,salary,dept"

 

--hive-import  : SQL userdb의 emp테이블을 hive에 가져온다

--fields-terminated-by ","  :  emp테이블의 내용을 가져올 때 필드 구분자 지정

--columns "id,name,salary,dept"  :  emp테이블의 내용을 저장할 때 column명 지정

 


sudo systemctl start mysql

- mysql 시작

sudo systemctl restart mysql

- mysql을 다시시작


**HDFS영역의 데이터를 SQL의 DB에 저장

sqoop export --connect jdbc:mysql://localhost:3306/userdb?serverTimezone=UTC --username user1 --password user1pwd --table emp -m 1 --export-dir /user/hive/warehouse/emp/ --input-fields-terminated-by ","

 

--export-dir /user/hive/warehouse/emp/  :  꺼내올 hdfs 영역의 데이터 경로

--input-fields-terminated-by ","  :  꺼내올 데이터의 구분자 지정, 구분자를 기준으로 데이터를 나누어 테이블에 넣는다