sqoop
中文手冊
:1)列出mysql資料庫中的所有資料庫
bin/sqoop list-databases \
--connect jdbc:mysql://vampire04:3306 \
--username root \
--password 123456
2)mysql
àhdfs
連線mysql
資料匯出到
hdfs
上
①
常規匯入
bin/sqoopimport \
--connect jdbc:mysql://vampire04:3306/sqoop \
--username root \
--password 123456 \
--table user \
--target-dir /input/import2 \
//指定資料匯入到
hdfs
上的目錄
--fields-terminated-by ","
bin/sqoop import \
--connect jdbc:mysql://vampire04:3306/sqoop \
--username root \
-p \
//不使用明文指定資料庫連線密碼
--table user \
--target-dir /input/import \
--delete-target-dir \
//如果目標目錄已存在,則先刪除
-m 1 \
//指定使用匯入資料的
map個數
--fields-terminated-by ","
//目標檔案的分隔符
②
query
,where
子句必須有
$conditons(
固定寫法
) 查詢匯入方式
bin/sqoop import \
--connect jdbc:mysql://vampire04:3306/sqoop\
--username root \
-p \
--query 'select id,account from user whereaccount="fff" and $conditions'\
--target-dir /sqoop/query1 \
-m 1 \
--delete-target-dir \
--fields-terminated-by "\t"
③
--columns
匯入部分字段資料
bin/sqoop import \
--connect jdbc:mysql://vampire04:3306/sqoop\
--username root \
-p \
--table user \
--columns "id,account" \
--target-dir /sqoop/query1 \
-m 1 \
--delete-target-dir \
--fields-terminated-by "\t"
④
增量匯入
注意:2.--check-column
不是使用
char/nchar/varchar/varnchar/ longvarchar/longnvarchar
這樣的資料型別
3.incremental
支援兩種模式
bin/sqoop import \
--connect jdbc:mysql://vampire04:3306/sqoop\
--username root \
-p \
--table user \
--target-dir /sqoop/incremental \
--fields-terminated-by "|" \
--check-column id \
--last-value 3
3)
mysql-> hive
連線mysql
匯入到hive
表
bin/sqoop import \
--connect jdbc:mysql://vampire04:3306/sqoop \
--username root \
--password 123456 \
--table user \
-m 1 \
--delete-target-dir \
--fields-terminated-by "\t" \
--hive-import \
--hive-overwrite \
--hive-database sqoop \
--hive-table user
總結:1.hive
中的database
要先建立
2.hive
中的表會自動建立
3.資料是由
mysql
先匯入到當前使用者在
hdfs
的使用者主目錄下,然後再載入到
hive
表中4)
從hdfs
、hive
表匯出到
mysql
bin/sqoop export \
--connect jdbc:mysql://vampire04:3306/sqoop\
--username root \
-p \
--table use2 \
--export-dir/user/hive/warehouse/test.db/hivey \
--fields-terminated-by "\t"
需要先在
mysql
中建好錶
,字段個數和字段型別要一致
.總結:1.從
hive
表和hdfs
匯出資料其實是一回事,都是要匯出到
hdfs
上的目錄
2.--fields-terminated-by
對於hive
表就是建立時候的字段分隔符,對於
hdfs
上的檔案而言就是該檔案的分隔符
)可以將
sqoop
的命令選項寫在檔案,通過【
--options-file
】指定檔案,進行執行程式。
vim sqoop_script
export
--connect
jdbc:mysql://vampire04:3306/testdb
--username
root
--password
root123
--table
hive2mysql
1--export-dir
/user/hive/warehouse/db01.db/dept
--fields-terminated-by
"\t"
$ bin/sqoop --options-file ~/sqoop_script
Sqoop的簡單案例應用
在sqoop中,匯入 概念指 從非大資料集群 rdbms 向大資料集群 hdfs,hive,hbase 中傳輸資料,叫做 匯入,即使用import關鍵字。1 確定mysql服務開啟正常 2 在mysql中新建一張表並插入一些資料 mysql uroot p000000 mysql create da...
sqoop 簡單語句
1.上傳sqoop 2.安裝和配置 搭好集群,幾乎不用配置sqoop 在新增sqoop到環境變數 將資料庫連線驅動拷貝到 sqoop home lib裡 3.使用 第一類 資料庫中的資料匯入到hdfs上 sqoop import connect jdbc mysql username root pa...
Sqoop (二)Sqoop 的簡單使用案例
二 匯出資料 三 指令碼打包 在sqoop中,匯入 概念指 從非大資料集群 rdbms 向大資料集群 hdfs,hive,hbase 中傳輸資料,叫做 匯入,即使用import關鍵字。確定mysql服務開啟正常 在mysql中新建一張表並插入一些資料 mysql uroot p000000 mysq...