본문으로 바로가기

sqoop 명령어 정리

category 빅데이터/sqoop 2019. 4. 28. 16:49

관계형데이터베이스와 하둡 주고받기 명령어(sqoop) 

환경: hortonworks 에서 교육용으로 실시

import => 데이터베이스에서 데이터들을 하둡으로 가져오기

 

스쿱이용하여 데이터베이스 테이블 내용 가져오기 

sqoop import --connect jdbc:mysql://localhost/test --table salaries --username root --target-dir /sqoop_out

=> test 데이터베이스에서 table 명이 salaries인 데이터들을 타겟 디렉토리인 sqoop_out(하둡)에 넣습니다.


파일 내용보기 

hadoop fs -cat /sqoop_out/* 

=> sqoop_out내 내용 보기

 

가져온 파일 목록 보기

hadoop fs -ls /sqoop_out  

=> sqoop_out내 목록 보기

여러테이블을 한번에 가져오기

(import -> import-all-tables)
--exclude-tables : 제외할 테이블
--warehouse-dir : 복수테이블 import할 때 --target-dir 대신 사용

sqoop import-all-tables --connect jdbc:mysql://localhost/test --username root --exclude-tables test3 --warehouse-dir /sqoop_out2 

=> test3을 제외하고 나머지를 sqoop_out2(하둡)으로 가져오기.
확인 : hadoop fs -ls /sqoop_out2/
내용확인: hadoop fs -cat /sqoop_out2/test1/*

조건으로 가져오기

sqoop import --connect jdbc:mysql://localhost/test --table salaries --username root --target-dir /sqoop_out 
 --where 'gender="M"' 

 



export => 역으로 하둡에서 데이터들을 데이터베이스 테이블로 가져오기

 

sqoop_out안에 내용을 sal_export 테이블에 넣어준다. 

sqoop export --connect jdbc:mysql://localhost/test --table sal_export --username root --export-dir /sqoop_out/ 

=> export 로 테이블 sal_export에 /sqoop_out 내 내용들을 넣어주기

=> 즉 하둡에서 DB로 


 eval =>하둡에서 쿼리 사용하기

sqoop eval --connect jdbc:mysql://localhost/test --username root --query 'SELECT~~~~' 


eval --e => 하둡에서 쿼리 사용하기  

sqoop eval --connect jdbc:mysql://localhost/test --username root --e 'INSERT~~~~~~' 


하둡에서 테이블 목록,데이터베이스 목록 확인하기

sqoop list-tables --connect jdbc:mysql://localhost/test --username root 
sqoop list-databases --connect jdbc:mysql://localhost/test --username root 

 

'빅데이터 > sqoop' 카테고리의 다른 글

sqoop  (0) 2019.04.28