大資料(二十七):Sqoop常用命令和公用引數
一、常用命令列舉
命令 |
類 |
說明 |
import |
ImportTool |
將資料匯入到叢集 |
export |
ExportTool |
將叢集資料匯出 |
codegen |
CodeGenTool |
獲取資料庫中某張表資料生成java並打包jar |
create-hive-table |
CreateHiveTableTool |
建立Hive表 |
eval |
EvalSqlTool |
查詢SQL執行結果 |
import-all-tables |
ImportAllTablesTool |
匯入某個資料庫下所有表到HDFS中 |
job |
JobTool |
用來生成一個sqoop的任務,生成後,該任務並不執行,除非使用命令執行該任務。 |
list-databases |
ListDatabasesTool |
列出所有資料庫名 |
list-tables |
ListTablesTool |
列出某個資料庫下所有表 |
merge |
MergeTool |
將HDFS中不同目錄下面的資料合在一起,並存放在指定的目錄中 |
metastore |
MetastoreTool |
記錄Sqoop Job的元資料資訊,如果不啟動Metastore例項,則預設的元資料儲存目錄為~/.sqoop,如果要更改儲存目錄,可以在配置檔案sqoop-site.xml中進行更改。 |
help |
HelpTool |
列印sqoop幫助資訊 |
version |
VersionTool |
列印sqoop版本資訊 |
二、命令&引數詳解
1.公用引數:資料庫連線
引數 |
說明 |
--connect |
連線關係型資料庫的URL |
--connection-manager |
指定要使用的連線管理類 |
--driver |
JDBC的driver class |
--help |
列印幫助資訊 |
--password |
連線資料庫的密碼 |
--username |
連線資料庫的使用者名稱 |
--verbose |
在控制檯打印出詳細資訊 |
2.公用引數:import
引數 |
說明 |
--enclosed-by<char> |
給欄位值前後加上指定的字元 |
--escaped-by<char> |
對欄位中的雙引號加轉義符 |
--fields-terminated-by<char> |
設定每個欄位是以什麼符號作為結束 預設為逗號 |
--lines-terminated-by<char> |
設定每行記錄之間的分隔符,預設是\n |
--mysql-delimiters |
Mysql預設的分隔符設定,欄位之間以逗號分隔,行之間以\n分隔,預設轉譯符是\,欄位值以單引號包裹。 |
--optionally-enclosed-by<char> |
給帶有雙引號或單引號的欄位值前後加上指定字元 |
3.公用引數:export
引數 |
說明 |
--input-enclosed-by<char> |
對欄位值前後加上指定字元 |
--input-escaped-by<char> |
對含有轉譯符的欄位做轉義處理 |
--input-fields-terminated-by<char> |
欄位之間的分隔符 |
--input-lines-terminated-by<char> |
行之間的分隔符 |
--input-optionally-enclosed-by<char> |
給帶有雙引號或單引號的欄位前後加上指定字元 |
4.公用引數:hive
引數 |
說明 |
--hive-delims-replacement<arg> |
用自定義的字串替換掉資料中的\r\n和\013\010等字元 |
--hive-drop-import-delims |
在匯入資料到hive時,去掉資料中的\r\n\013\010這種的字元 |
--map-column-hive<map> |
生成hive表時,可以更改生成欄位的資料型別 |
--hive-partition-key |
建立分割槽,後面直接跟分割槽名,分割槽欄位的預設型別為string |
--hive-partition-value<v> |
匯入資料時,指定某個分割槽的值 |
--hive-home<dir> |
hive的安裝目錄,可以通過該引數覆蓋之前預設配置的目錄 |
--hive-import |
將資料從關係資料庫中匯入到hive表中 |
--hive-overwrite |
覆蓋掉在hive表中已經存在的資料 |
--create-hive-table |
預設是false,即如果目標表已經存在了,那麼建立任務失敗 |
--hive-table |
後面接要建立的hive表,預設使用mysql的表名 |
--table |
指定關係資料庫的表名 |