架設Sqoop
匯入或匯出資料
安裝Sqoop
下載Sqoop 1.4.7到hadoop1 Server的hadoop User家目錄
$ wget http://apache.stu.edu.tw/sqoop/1.4.7/sqoop-1.4.7.bin__hadoop-2.6.0.tar.gz
$ tar sqoop-1.4.7.bin__hadoop-2.6.0.tar.gz
$ tar -zxvf sqoop-1.4.7.bin__hadoop-2.6.0.tar.gz
$ mv sqoop-1.4.7.bin__hadoop-2.6.0 sqoop
設定必要環境變數
請在.bashrc新增以下環境變數內容
$ vi ~/.bashrc
變數內容
export SQOOP_HOME=/home/hadoop/sqoop
export PATH=$SQOOP_HOME/bin:$PATH
export HIVE_HOME=/home/hadoop/hive
export PATH=$HIVE_HOME/bin:$PATH
export HIVE_CONF_DIR=${HIVE_HOME}/conf
export HADOOP_CLASSPATH=$HADOOP_CLASSPATH:$HIVE_HOME/lib/*
使環境變數生效
$ source ~/.bashrc
下載Mysql JDB Connector
$ cd ~/sqoop/lib/
$ wget http://central.maven.org/maven2/mysql/mysql-connector-java/8.0.11/mysql-connector-java-8.0.11.jar
$ cd ~
已root身分修改java.policy
$ vi /usr/lib/jvm/jre/lib/security/java.policy
新增這一行內容
permission javax.management.MBeanTrustPermission "register";
測試
匯入MySql資料到Hive
$ sqoop import --connect jdbc:mysql://${MysqlHost}:3306/${MySqlSchemaName}?zeroDateTimeBehavior=EXCEPTION --table ${MySqlTableName} --username ${MySqlAccount} --password ${MySqlPassword} --create-hive-table --hive-import --fields-terminated-by ',' --hive-table ${HiveDatabaseName.HiveTableName}
如果第二次匯入,可以把 --create-hive-table 拿掉
匯出Hive資料到MySql
$ sqoop export --connect jdbc:mysql://${MySqlHost}:3306/${MySqlSchema} --username ${MySqlAccount} --password ${MySqlPassword} --table ${MySqlTable} --export-dir /user/hive/warehouse/${HiveTableDir} --input-fields-terminated-by ','
Last updated