Sqoop 的簡單使用案例

2021-08-21 01:44:24 字數 3308 閱讀 8023

1、匯入資料

在 sqoop 中,「匯入」概念指:從非大資料集群(rdbms) 向大資料集群(hdfs, hive,hbase) 中傳輸資料,叫做:匯入,即使用 import 關鍵字。

1、 rdbms 到 hdfs

1) 確定 mysql 服務開啟正常

2) 在 mysql 中新建一張表並插入一些資料

mysql -uroot

-p000000

mysql> create database company;

mysql> use company;

mysql> create table company.staff(id int(4) primary key not

null auto_increment, name varchar(255), *** varchar(255));

mysql> insert into company.staff(name, ***) values('thomas', 'male');

mysql> insert into company.staff(name, ***) values('catalina', 'female');

3) 匯入資料

(1) 全部匯入

bin/sqoop import \

--connect jdbc:

mysql://hadoop102:3306/company \

--username root \

--password 000000 \

--table staff \

--target-dir /user/company \

--delete-target-dir \

--fields-terminated-by "\t"

(2) 查詢匯入

bin/sqoop import \

--connect jdbc:

mysql://hadoop102:3306/company \

--username root \

--password 000000 \

--target-dir /user/company \

--delete-target-dir \

--fields-terminated-by "\t" \

--query 'select name,*** from staff where id <=1 and $conditions;'

(3) 匯入指定列

bin/sqoop import \

--connect jdbc:

mysql://hadoop102:3306/company \

--username root \

--password 000000 \

--target-dir /user/company \

--delete-target-dir \

--fields-terminated-by "\t" \

--columns id,*** \

--table staff

(4) 使用 sqoop 關鍵字篩選查詢匯入資料

bin/sqoop import \

--connect jdbc:

mysql://hadoop102:3306/company \

--username root \

--password 000000 \

--target-dir /user/company \

--delete-target-dir \

--fields-terminated-by "\t" \

--table staff \

--where "id=1"

2、 rdbms 到 hive

bin/sqoop import \

--connect jdbc:

mysql://hadoop102:3306/company \

--username root \

--password 000000 \

--table staff \

--hive-import \

--fields-terminated-by "\t" \

--hive-overwrite \

--hive-table staff_hive

2、匯出資料

在 sqoop 中,「匯出」概念指:從大資料集群(hdfs, hive, hbase) 向非大資料集群(rdbms) 中傳輸資料,叫做:匯出,即使用 export 關鍵字。

1、 hive/hdfs 到 rdbms

bin/sqoop export \

--connect jdbc:

mysql://hadoop102:3306/company \

--username root \

--password 000000 \

--table staff \

--export-dir /user/hive/warehouse/staff_hive \

--input-fields-terminated-by "\t"

3、 指令碼打包

使用 opt 格式的檔案打包 sqoop 命令,然後執行

1 建立乙個.opt 檔案

mkdir opt

touch opt/job_hdfs2rdbms.opt

2 編寫 sqoop 指令碼

vi opt/job_hdfs2rdbms.opt

export

--connect

jdbc:mysql://hadoop102:3306/company

--username

root

--password

000000

--table

staff

1--export-dir

/user/hive/warehouse/staff_hive

--input-fields-terminated-by

"\t"

3 執行該指令碼

bin/sqoop --options-file opt/job_hdfs2rdbms.opt

Sqoop (二)Sqoop 的簡單使用案例

二 匯出資料 三 指令碼打包 在sqoop中,匯入 概念指 從非大資料集群 rdbms 向大資料集群 hdfs,hive,hbase 中傳輸資料,叫做 匯入,即使用import關鍵字。確定mysql服務開啟正常 在mysql中新建一張表並插入一些資料 mysql uroot p000000 mysq...

Sqoop的簡單使用案例

rdbms到hive rdbms到hbase hive hdfs到rdbms 指令碼打包 1.確定mysql服務開啟正常 2.在mysql中新建一張表並插入一些資料 mysql uroot proot mysql create database company mysql create table ...

Sqoop的簡單使用案例

4.1 匯入資料 在sqoop中,匯入 概念指 從非大資料集群 rdbms 向大資料集群 hdfs,hive,hbase 中傳輸資料,叫做 匯入,即使用import關鍵字。4.1.1 rdbms到hdfs 1 確定mysql服務開啟正常 2 在mysql中新建一張表並插入一些資料 mysql uro...