Sqoop 101
- Introduction
- Installation - {:.} Prerequisite - {:.} Download - {:.} Environment Configuration - {:.} Connectors - {:.} Verifying Sqoop
- Sqoop! - SQL to Hadoop - {:.} list-tables - {:.} import

Introduction
스쿱은 RDBMS의 데이터를 HDFS로 옮겨주는 툴입니다.
Installation
Prerequisite
- Java8 이상이 설치되어 있어야 합니다.
- Hadoop이 먼저 설치되어 있어야 합니다.
sqoop은 java 8이상이 필요합니다. 만약 java 7실행시 다음과 같은 에러를 출력합니다.
Exception in thread "main" java.lang.NoClassDefFoundError: java/time/temporal/TemporalField
하둡 그리고 하이브실행은 다음과 같이 합니다.
이후 http://localhost:50070/ 접속해서 되는지 확인..
start-dfs.sh
hiveserver2.sh
Download
http://sqoop.apache.org에 들어가서 Sqoop을 다운로드 합니다.
wget http://apache.mirror.cdnetworks.com/sqoop/1.4.6/sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz
tar -zxvf sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz
sudo mv sqoop-1.4.6.bin__hadoop-2.0.4-alpha /usr/local/sqoop
sudo chown -R hduser:hadoop /usr/local/sqoop
Environment Configuration
.bashrc에 다음을 추가합니다.
#Sqoop
export SQOOP_HOME=/usr/local/sqoop
export PATH=$PATH:$SQOOP_HOME/bin
export CLASSPATH=$CLASSPATH:$SQOOP_HOME/lib/*
Connectors
Connectors들은 $SQOOP_HOME/lib 에다가 설치를 합니다.
MySQL Connector
wget http://ftp.ntu.edu.tw/MySQL/Downloads/Connector-J/mysql-connector-java-5.1.36.tar.gz
tar -zxvf mysql-connector-java-5.1.36.tar.gz
cd mysql-connector-java-5.1.36
mv mysql-connector-java-5.1.36-bin.jar $SQOOP_HOME/lib
PostgreSQL Connector
wget https://jdbc.postgresql.org/download/postgresql-9.4.1208.jar
mv postgresql-9.4.1208.jar $SQOOP_HOME/lib
Verifying Sqoop
다음을 실행시켜서, Sqoop이 제대로 설치됐는지 확인 가능합니다.
sqoop-version
Sqoop! - SQL to Hadoop
list-tables
list-tables 는 가져오려는 테이블의 리스트를 출력합니다.
sqoop list-tables --connect jdbc:postgresql://호스트/데이터베이스 --username root --password 1234
import
sqoop import --connect jdbc:postgresql://호스트/데이터베이스 --username root --table users -P