sqoop用於關聯式資料庫和hadoop家族(hdfs、hive、hbase)之間的etl
資料庫匯出到hadoop家族:sqoop import hadoop家族匯出到資料庫:sqoop export
官方:tar -zxvf sqoop-1.4.7.binhadoop-2.6.0.tar.gz mv sqoop-1.4.7.binhadoop-2.6.0/ sqoop-1.4.7
cd sqoop-1.4.7/conf/ mv sqoop-env-template.sh sqoop-env.sh vi sqoop-env.sh
export hadoopcommonhome=/usr/local/hadoop/hadoop-2.10.0
export hadoopmapredhome=/usr/local/hadoop/hadoop-2.10.0
vi /etc/profile
source /etc/profile
驗證是否成功 sqoop-version
如果是集群環境試試關防火牆 sqoop import --connect jdbc:mysql: --username root --password mysql --table employees -m 2
看看效果(預設路徑)
hadoop fs -ls /user/root/employees hadoop fs -cat /user/root/employees/part-m-00000
sqoop import --connect jdbc:mysql: --username root --password mysql
實現需要驅動
sqoop list-tables --connect jdbc:mysql: --username root --password mysql
匯入的預設路徑:/user/hadoop/tablename1
sqoop import --connect jdbc:mysql:?usessl=false --username root --password mysql --table employees --target-dir /user/hadoop11/employees -m 1
sqoop import \
--connect jdbc:mysql://hadoop1:3306/mysql \
--username root \
--password root \
--table helpkeyword \
--target-dir /user/hadoop11/myhelp_keyword1 \
--fields-terminated-by '\t' \
-m 2
--fields-terminated-by '\t' 用於分隔符
-m:表明需要使用幾個map任務併發執行
sqoop import \
--query 'select a., b.
id增量
時間增量
sqoop import \ --connect jdbc:mysql://hadoop1:3316/testdb \ --username root \ --password transwarp \ --query 「select orderid, name from ordertable where \$conditions」 \ --target-dir /user/root/orderall \ --split-by id \ -m 4 \ --incremental lastmodified \ --merge-key orderid \ --check-column time \ --last-value 「2014-11-09 21:00:00」
sqoop import --connect jdbc:mysql:?usessl=false --username root --password mysql --table employees --target-dir /user/sqoop/employees --hive-import -m 2
建立在預設的default庫中.看看效果(預設路徑
hadoop fs -cat /user/sqoop/employees//part-m-00000
先建立乙個hive庫 hive> create database mydb;
sqoop import \
--connect jdbc:mysql:?usessl=false \
--username root \
--password mysql \
--table employees \
--fields-terminated-by "\t" \
--lines-terminated-by "\n" \
--hive-import \
--hive-overwrite \
--create-hive-table \
--delete-target-dir \
--hive-database mydb \
--hive-table employees
sqoop export --connect jdbc:mysql: --username root --password mysql --export-dir /sqoop --table student1
sqoop export --connect jdbc:mysql: --username root --password mysql --table employee1 --export-dir /user/hive/warehouse/sqoop.db/employee -input-fields-terminated-by '\001' --m 3
sqoop codegen --connect jdbc:mysql: --username root --password mysql --table employee1
Sqoop工具的使用和詳解
sqoop是用來進行資料匯入匯出的工具,一般用在hadoop這個框架中,常用的應用場景有將mysql資料庫中的資料匯入hdfs或者hive hbase,或者從後者中匯出到關係型資料庫中,下面將進行幾段 的演示匯入和匯出的過程。將mysql中的資料匯入到hadoop集群上 hdfs 首先將指令碼命令貼...
sqoop引數詳解
sqoop引數含義 import和export引數解釋 common arguments connect 連線rdbms的jdbc連線字串,例如 connect jdbc mysql mysql server port dbname。connection manager hadoop home us...
大資料技術sqoop外掛程式使用引數詳解
1 常用命令 import 將資料匯入到集群 bin sqoop import connect jdbc mysql hadoop102 3306 school username root password 123456 table student target dir user sqoop del...