不多說,直接上干貨!
1、Sqoop Import (進入官網)
因為,sqoop的使用方式是: sqoop COMMAND ARGS。
以下是 sqoop COMMAND ARGS
以下是 sqoop COMMAND ARGS
所以,sqoop COMMAND ARGS 是
選項 | 含義說明 |
--connect <jdbc-uri> |
指定JDBC連接字符串 |
--connection-manager <class-name> |
指定要使用的連接管理器類 |
--driver <class-name> |
指定要使用的JDBC驅動類 |
--hadoop-mapred-home <dir> |
指定$HADOOP_MAPRED_HOME路徑 |
--help |
打印用法幫助信息 |
--password-file |
設置用於存放認證的密碼信息文件的路徑 |
-P |
從控制台讀取輸入的密碼 |
--password <password> |
設置認證密碼 |
--username <username> |
設置認證用戶名 |
--verbose |
打印詳細的運行信息 |
--connection-param-file <filename> |
可選,指定存儲數據庫連接參數的屬性文件 |
選項 | 含義說明 |
--append |
將數據追加到HDFS上一個已存在的數據集上 |
--as-avrodatafile |
將數據導入到Avro數據文件 |
--as-sequencefile |
將數據導入到SequenceFile |
--as-textfile |
將數據導入到普通文本文件(默認) |
--boundary-query <statement> |
邊界查詢,用於創建分片(InputSplit) |
--columns <col,col,col…> |
從表中導出指定的一組列的數據 |
--delete-target-dir |
如果指定目錄存在,則先刪除掉 |
--direct |
使用直接導入模式(優化導入速度) |
--direct-split-size <n> |
分割輸入stream的字節大小(在直接導入模式下) |
--fetch-size <n> |
從數據庫中批量讀取記錄數 |
--inline-lob-limit <n> |
設置內聯的LOB對象的大小 |
-m,--num-mappers <n> |
使用n個map任務並行導入數據 |
-e,--query <statement> |
導入的查詢語句 |
--split-by <column-name> |
指定按照哪個列去分割數據 |
--table <table-name> |
導入的源表表名 |
--target-dir <dir> |
導入HDFS的目標路徑 |
--warehouse-dir <dir> |
HDFS存放表的根路徑 |
--where <where clause> |
指定導出時所使用的查詢條件 |
-z,--compress |
啟用壓縮 |
--compression-codec <c> |
指定Hadoop的codec方式(默認gzip) |
--null-string <null-string> |
果指定列為字符串類型,使用指定字符串替換值為null的該類列的值 |
--null-non-string <null-string> |
如果指定列為非字符串類型,使用指定字符串替換值為nul |
2、Sqoop Export (進入官網)
選項 | 含義說明 |
--validate <class-name> |
啟用數據副本驗證功能,僅支持單表拷貝,可以指定驗證使用的實現類 |
--validation-threshold <class-name> |
指定驗證門限所使用的類 |
--direct |
使用直接導出模式(優化速度) |
--export-dir <dir> |
導出過程中HDFS源路徑 |
-m,--num-mappers <n> |
使用n個map任務並行導出 |
--table <table-name> |
導出的目的表名稱 |
--call <stored-proc-name> |
導出數據調用的指定存儲過程名 |
--update-key <col-name> |
更新參考的列名稱,多個列名使用逗號分隔 |
--update-mode <mode> |
指定更新策略,包括:updateonly(默認)、allowinsert |
--input-null-string <null-string> |
使用指定字符串,替換字符串類型值為null的列 |
--input-null-non-string <null-string> |
使用指定字符串,替換非字符串類型值為null的列 |
--staging-table <staging-table-name> |
在數據導出到數據庫之前,數據臨時存放的表名稱 |
--clear-staging-table |
清除工作區中臨時存放的數據 |
--batch |
使用批量模式導出 |