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