rdbms到hive
rdbms到hbase
hive/hdfs到rdbms
指令碼打包
1.確定mysql服務開啟正常
2.在mysql中新建一張表並插入一些資料
$ mysql -uroot -proot
mysql> create database 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.匯入資料
全部匯入
bin/sqoop import \
--connect jdbc:mysql:
//hadoop102:
3306
/company \
--username root \
--password root \
--table staff \
--target-dir /user/company \
--delete
-target-dir \
--fields-terminated-by "\t"
查詢匯入bin/sqoop import \
--connect jdbc:mysql:
//hadoop102:
3306
/company \
--username root \
--password root \
--target-dir /user/company \
--delete
-target-dir \
--fields-terminated-by "\t" \
--query 'select name,*** from staff where id <=1 and $conditions;'
如果query後使用的是雙引號,則$conditions前必須加轉移符,防止shell識別為自己的變數。
匯入指定列
bin/sqoop import \
--connect jdbc:mysql:
//hadoop102:
3306
/company \
--username root \
--password root \
--target-dir /user/company \
--delete
-target-dir \
--fields-terminated-by "\t" \
--columns id,*** \
--table staff
使用sqoop關鍵字篩選查詢匯入資料
bin/sqoop import \
--connect jdbc:mysql:
//hadoop102:
3306
/company \
--username root \
--password root \
--target-dir /user/company \
--delete
-target-dir \
--fields-terminated-by "\t" \
--table staff \
--where "id=1"
bin/sqoop import \
--connect jdbc:mysql:
//hadoop102:
3306
/company \
--username root \
--password root \
--table staff \
--hive-import \
--fields-terminated-by "\t" \
--hive-overwrite \
--hive-table staff_hive
bin/sqoop import \
--connect jdbc:mysql:
//hadoop102:
3306
/company \
--username root \
--password root \
--table company \
--columns "id,name,***" \
--column-family "info" \
--hbase-create-table \
--hbase-row-key "id" \
--hbase-table "hbase_company" \
--split-by id
解決方案:手動建立hbase表
hbase> create 'hbase_company,'info'
在hbase中scan這張表得到如下內容
hbase> scan 『hbase_company』
bin/sqoop export \
--connect jdbc:mysql:
//hadoop102:
3306
/company \
--username root \
--password root \
--table staff \
--export
-dir /user/hive/warehouse/staff_hive \
--input-fields-terminated-by "\t"
使用opt格式的檔案打包sqoop命令,然後執行
建立乙個.opt檔案
mkdir opt
touch opt/job_hdfs2rdbms.opt
編寫sqoop指令碼
vi opt/job_hdfs2rdbms.opt
export
--connect
jdbc:mysql:
//hadoop102:
3306
/company
--username
root
--password
root
--table
staff1--
export
-dir
/user/hive/warehouse/staff_hive
--input-fields-terminated-by
"\t"
執行該指令碼
bin/sqoop --options-file opt/job_hdfs2rdbms.opt
Sqoop (二)Sqoop 的簡單使用案例
二 匯出資料 三 指令碼打包 在sqoop中,匯入 概念指 從非大資料集群 rdbms 向大資料集群 hdfs,hive,hbase 中傳輸資料,叫做 匯入,即使用import關鍵字。確定mysql服務開啟正常 在mysql中新建一張表並插入一些資料 mysql uroot p000000 mysq...
Sqoop 的簡單使用案例
1 匯入資料 在 sqoop 中,匯入 概念指 從非大資料集群 rdbms 向大資料集群 hdfs,hive,hbase 中傳輸資料,叫做 匯入,即使用 import 關鍵字。1 rdbms 到 hdfs 1 確定 mysql 服務開啟正常 2 在 mysql 中新建一張表並插入一些資料 mysql...
Sqoop的簡單使用案例
4.1 匯入資料 在sqoop中,匯入 概念指 從非大資料集群 rdbms 向大資料集群 hdfs,hive,hbase 中傳輸資料,叫做 匯入,即使用import關鍵字。4.1.1 rdbms到hdfs 1 確定mysql服務開啟正常 2 在mysql中新建一張表並插入一些資料 mysql uro...