02sqoop匯入資料

2021-09-26 09:39:39 字數 2589 閱讀 9167

1.概念

在sqoop中,「匯入」概念指:從非大資料集群(rdbms)向大資料集群(hdfs,hive,hbase)中傳輸資料,

叫做:匯入,即使用import關鍵字。

2.建立表並插入資料

mysql -uroot -p000000

create database company;

create table company.staff(id int(4) primary key not null auto_increment, name varchar(255), *** varchar(255));

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

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

1.全部匯入

bin/sqoop import \

--connect jdbc:mysql://node01: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://node01: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;'

如果query後使用的是雙引號,則$conditions前必須加

轉譯符(即是\),防止shell識別為自己的變數。

3.匯入指定列

bin/sqoop import \

--connect jdbc:mysql://node01: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://node01:3306/company \

--username root \

--password 000000 \

--target-dir /user/company \

--delete-target-dir \

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

--table staff \

--where "id=1"

bin/sqoop import \

--connect jdbc:mysql://node01:3306/company \

--username root \

--password 000000 \

--table staff \

--hive-import \

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

--hive-overwrite \

--hive-table staff_hive

第二步將匯入到hdfs的資料遷移到hive倉庫,

第一步預設的臨時目錄是"/user/使用者名稱/表名"

bin/sqoop import \

--connect jdbc:mysql://node01:3306/company \

--username root \

--password 000000 \

--table company \

--columns "id,name,***" \

--column-family "info" \

--hbase-create-table \

--hbase-row-key "id" \

--hbase-table "hbase_company" \

--split-by id

解決方案:手動建立hbase表 create 'hbase_company,'info'

在hbase中scan這張表:scan 'hbase_company'

Sqoop(二) Sqoop匯入 匯出資料

1.2 rdbms hive 1.3 rdbms hbase 2.匯出資料 在sqoop中,匯入 概念指 從非大資料集群 rdbms 向大資料集群 hdfs,hive,hbase 中傳輸資料,叫做 匯入,即使用import關鍵字。sqoop import connect jdbc mysql top...

sqoop增量資料匯入

1.使用sqoop按欄位增長將mysql中資料抽取到hdfs 2.使用sqoop按時間增長將mysql中資料抽取到hdfs jps start all.sh2.開啟mysql服務。sudo service mysql start登入mysql mysql u root p3.在mysql庫中,建立s...

Sqoop增量資料匯入

1.掌握sqoop的時間增量抽取 2.掌握sqoop的字段增量抽取 sqoop會抽取buyer id大於10005的資料。2 lastmodified模式是根據時間作為標準,比如 incremental lastmodified check column reg date last value 20...