植物大戰殭屍中文版 for Mac中文版
阿新 • • 發佈:2022-05-08
sqoop
sqoop環境搭建
-
解壓 tar -zxvf /h3cu/sqoop..........tar -C /usr/local/src 並重命名為:mv sqoop ........ sqoop
-
vim /root/.bash_profile (記得source)
export SQOOP_HOME=/usr/local/src/sqoop export path=$path:$SQOOP_HOME/bin
-
cd $SQOOP_HOME/conf
-
cp sqoop-env-template.sh sqoop-env.sh 並vim sqoop-env.sh 內容如下:
export HADOOP_COMMON_HOME=/usr/local/src/hadoop export HADOOP_MAPRED_HOME=/usr/local/src/hadoop export HIVE_HOME=/usr/local/src/hive export ZOOKEEPER_HOME=/usr/local/src/zookeeper
-
把sqoop裡的lib下的jar都發送到hdfs相同目錄下
-
使用:使用前需要先啟動hadoop然後直接使用命令即可!
sqoop的常用命令
匯入(import):從非叢集 - -> 叢集
匯出(export):叢集 --> 非叢集
-
列出mysql資料庫中的所有資料庫:
sqoop list-databases -connect jdbc:mysql://192.168.1.10:3306 -username root -password 123456
-
通過sqoop執行sql語句
sqoop eval -connect jdbc:mysql:///sqoop -username root -password root -query "select * from employee where id=5"
-
mysql匯入到hdfs
[hadoop@node01 ~]$ sqoop import \ > --connect jdbc:mysql://node01:3306/sqooptest \ > --username root \ > --password 123456 \ > --table Person \ > --target-dir /sqoop/person \ # 指定匯出目錄 > --delete-target-dir \ # 如果匯出目錄存在,就先刪除 > --fields-terminated-by '\t' \ # 指定欄位資料分隔符 > --m 1 #指定map task數,預設是4個 # \ 表示隔開每個引數
-
hdfs匯出到mysql
sqoop export \ --connect jdbc:mysql://node1:3306/userdb \ --username sqoop \ --password sqoop \ --table employee \ --export-dir /user/hadoop/emp/ --input-fields-terminated-by ','
-
從MySQL匯入到hive
[hadoop@node01 ~]$ sqoop import \ > --connect jdbc:mysql://node01:3306/sqooptest \ > --username root \ > --password 123456 \ > --table Person \ > --hive-import \ > --hive-database sqooptohive \ > --hive-table person1 \ > --m 1
-
從hdfs匯出資料到MySQL(需要先建mysql中的表)
sqoop export \ --connect jdbc:mysql://localhost:3306/wht \ --username root \ --password 123456 \ --table wht_test2 \ --fields-terminated-by ',' \ --export-dir /user/hive/warehouse/wht_test1