- Sqoop 개요
- CentOS에서 Sqoop 설치
- 사전 준비 사항
- 설치
- Sqoop Architecture
- Sqoop 매뉴얼
- 참고 문헌
RDBMS와 Hadoop간의 데이터 전송 솔루션인 Sqoop을 정리 합니다.
홈페이지 : http://sqoop.apache.org/
다운로드 : http://www.apache.org/dyn/closer.cgi/sqoop/, http://www.apache.org/dyn/closer.cgi/sqoop/1.4.3
라이선스 : Apache 2.0
지원 플랫폼 : Java
Sqoop 개요
RDBMS와 HDFS간의 데이터 교환 방법 제공
HBase에 데이터 저장 , Hive로 데이터 전달 기능 제공
CentOS에서 Sqoop 설치
사전 준비 사항
Hive 0.11.0
Pig 0.11.1
Hadoop 1.1.2
Java 1.7.0_19
CentOS 6.4, 64 bits
설치
Sqoop 설치 파일을 다운로드 합니다.
//--- wget http://www.us.apache.org/dist/sqoop/1.4.3/sqoop-1.4.3.tar.gz
wget http://www.us.apache.org/dist/sqoop/1.4.3/sqoop-1.4.3.bin__hadoop-1.0.0.tar.gz
tar zxvf ../sqoop-1.4.3.bin__hadoop-1.0.0.tar.gz
chown -R root:root sqoop-1.4.3.bin__hadoop-1.0.0
mv sqoop-1.4.3.bin__hadoop-1.0.0 /appl/sqoop
적합한 JDBC Driver를 복사 합니다.
cp /cloudnas/install/mysql-connector-java-5.1.25-bin.jar /appl/sqoop/lib
vi ~/.bashrc
export SQOOP_HOME=/appl/sqoop
export PATH=$PATH:$SQOOP_HOME/bin
export HADOOP_COMMON_HOME=/appl/hadoop
export HADOOP_MAPRED_HOME=/appl/hadoop
export HBASE_HOME=/appl/hbase
export HIVE_HOME=/appl/hive
export ZOOCFGDIR=/appl/zookeeper/conf
설치 확인
sqoop version
sqoop help
sqoop import
Sqoop Architecture
Sqoop 매뉴얼
Import to HDFS (RDBMS -> HDFS )
sqoop import --connect 'jdbc:mysql://localhost:3306/$database?useUnicode=true&characterEncoding=UTF-8'
--driver org.gjt.mm.mysql.Driver --username $user --password $password --num-mappers 1
--table $table
codegen ($table.java 파일 생성)
sqoop codegen --connect 'jdbc:mysql://localhost:3306/$database?useUnicode=true&characterEncoding=UTF-8'
--driver org.gjt.mm.mysql.Driver --username $user --password $password
--table $table --class-name $table
Import to Hive (RDBMS -> Hive)
HDFS 폴더 : /user/$linuxUser/$table
Hive Table : $table
sqoop import --connect 'jdbc:mysql://localhost:3306/$database?useUnicode=true&characterEncoding=UTF-8'
--driver org.gjt.mm.mysql.Driver --username $user --password $password --num-mappers 1
--table $table --hive-table $table --hive-import [--hive-overwrite](--hive-overwrite.md)
--create-hive-table --direct --fields-terminated-by '\t' --lines-terminated-by '\n'
- 오류 : 이미 폴더가 있습니다.
hadoop dfs -rmr /user/$linuxUser/$table
- 오류 : Safe Mode 입니다.
hadoop dfsadmin -safemode leave
- 오류 : connetion refused : [Hadoop](Hadoop.md)의 Name Node 설정이 모드에 맞도록 되어 있는지 확인 합니다.
Hive table 생성
sqoop create-hive-table
--connect 'jdbc:mysql://localhost:3306/$database?useUnicode=true&characterEncoding=UTF-8'
--driver org.gjt.mm.mysql.Driver --username $user --password $password
--table $table --fields-terminated-by ','
Export (Hive -> RDBMS)
sqoop export --connect 'jdbc:mysql://localhost:3306/$database?useUnicode=true&characterEncoding=UTF-8'
--driver org.gjt.mm.mysql.Driver --username $user --password $password --num-mappers 1
--table $table --export-dir 'hdfs://user/hive/warehouse/$table'
--input-fields-terminated-by '\\0001'
참고 문헌
분류: BigData
최종 수정일: 2024-09-30 12:26:18
이전글 :
다음글 :