sqoop使用詳解

2022-03-21 13:51:10 字數 2908 閱讀 9416

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...