sqoop匯入匯出例項以及多分割槽案例

2022-08-23 19:39:14 字數 2722 閱讀 7086

sqoop import   \

--connect  jdbc:mysql://localhost:3306/test  \

--username  escheduler_dev  \

--password  2wsxvfr$  \

--query  "select id  as  id,name  as  name,age  as  age from a_demo where  1=1  and  \$conditions "   \

--hive-import  \

--hive-database  default  \

--hive-table  demo10   \

--target-dir  /tmp/hyj-$random  \

--hive-partition-key  date_id  \

--hive-partition-value  1000  \

--m  1;  \

注釋:--connect是源資料庫即mysql;--username和--password是mysql的使用者名稱密碼,--query是做查詢條件,可以篩選資料,也可以對字段起別名,用於字段對映;

--hive-database和--hive-table用於hive非orc表的語法,即hive的庫名和表明;--target-dir快取目錄;--hive-partition-key和--hive-partition-value是分割槽欄位名以及值

在例1後面拼接 --hive-overwrite

標註:如果hive表為orc表,就sqoop無法進行overwrite覆蓋

sqoop export   

--connect  jdbc:mysql://localhost:3306/escheduler_dev 

--username  escheduler_dev

--password  2wsxvfr$ 

--table a_demo 

--columns  "id,name,age" 

--hcatalog-database  default 

--hcatalog-table  demo10 

--hive-partition-key  date_id 

--hive-partition-value  1000 

--m  1 ; 

注釋:hcatalog模式可用於orc表

sqoop export   

--connect  jdbc:mysql://localhost:3306/escheduler_dev 

--username  escheduler_dev 

--password  2wsxvfr$ 

--table a_demo 

--columns  "id,name,age" 

--hcatalog-database  default 

--hcatalog-table  demo10 

--hive-partition-key  date_id 

--hive-partition-value  1000 

--m  1 

--update-key id 

--update-mode updateonly;   

注釋:--columns是更新或插入哪些字段;--update-key更新依據的欄位名,比如上述案例以id進行更新,--update-mode是更新模式,updateonly僅更新

sqoop export   

--connect  jdbc:mysql://localhost:3306/escheduler_dev 

--username  escheduler_dev 

--password  2wsxvfr$ 

--table a_demo 

--columns  "id,name,age" 

--hcatalog-database  default 

--hcatalog-table  demo10 

--hive-partition-key  date_id 

--hive-partition-value  1000 

--m  1 

--update-key id 

--update-mode allowinsert;  

注釋:--update-mode的模式是allowinsert更新並插入

sqoop import   

--connect  jdbc:mysql://localhost:3306/escheduler_dev 

--username  escheduler_dev 

--password  2wsxvfr$ 

--query  "select name  as  name from a_demo where  1=1  and  \$conditions "   

--hcatalog-database  default 

--hcatalog-table  test88 

--hcatalog-partition-keys  pt,hh,mm 

--hcatalog-partition-values  100,200,300 

--m  1 ;

注釋:--hcatalog-partition-keys可以寫多個分割槽欄位名,--hcatalog-partition-values是對應多個欄位名的值,但是僅限hcatalog模式,該模式下不支援overwrite

sqoop匯入匯出

sqoop官方手冊位址 最近在看sqoop有些感想,就寫下來。sqoop是大資料裡面匯入匯出的乙個工具。關於import匯出 可以從mysql匯出到hdfs,hbase,hive,案例如下,這是乙個匯出到hdfs的案例 import connect jdbc mysql username root ...

sqoop匯入 匯出

全部匯入 sqoop import connect jdbc mysql hadoop01 3306 test1 username root password 1234 table students target dir user test1 delete target dir fields ter...

Sqoop(二) Sqoop匯入 匯出資料

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