Sqoop-常用命令及引數
1、Sqoop常用命令及引數
2、命令&引數詳解
剛才列舉了一些 Sqoop 的常用命令,對於不同的命令,有不同的引數,讓我們來一一列舉說明。 首先來我們來介紹一下公用的引數,所謂公用引數,就是大多數命令都支援的引數。
2.1、公用引數:資料庫連線
2.2、公用引數:import
2.3、公用引數:export
2.4、公用引數:hive
命令對應的特有引數:
2.5、命令&引數:import
將關係型資料庫中的資料匯入到 HDFS(包括 Hive,HBase)中,如果匯入的是 Hive,那麼 當 Hive 中沒有對應表時,則自動建立。
1) 命令
如:匯入資料到 hive 中:
如:增量匯入資料到 hive 中,mode=append
append 不能與--hive-等引數同時使用.
如:增量匯入資料到 hdfs 中,mode=lastmodified
使用 lastmodified 方式匯入資料要指定增量資料是要--append(追加)還是要 --merge-key(合併).
last-value 指定的值是會包含於增量匯入的資料中.
2) 引數:
2.6、命令&引數:export
從 HDFS(包括 Hive 和 HBase)中將資料匯出到關係型資料庫中。
1) 命令:
2) 引數:
2.7、命令&引數:codegen
將關係型資料庫中的表對映為一個 Java 類,在該類中有各列對應的各個欄位。
2.8、命令&引數:create-hive-table
生成與關係資料庫表結構對應的 hive 表結構。
2.9、命令&引數:eval
可以快速的使用 SQL 語句對關係型資料庫進行操作,經常用於在 import 資料之前,瞭解一 下 SQL 語句是否正確,資料是否正常,並可以將結果顯示在控制檯。
2.10、命令&引數:import-all-tables
可以將 RDBMS 中的所有表匯入到 HDFS 中,每一個表都對應一個 HDFS 目錄。
2.11、命令&引數:job
用來生成一個 sqoop 任務,生成後不會立即執行,需要手動執行。
注意 import-all-tables 和它左邊的--之間有一個空格。
如果需要連線 metastore,則--meta-connect jdbc:hsqldb:hsql://linux01:16000/sqoop。
在執行一個 job 時,如果需要手動輸入資料庫密碼,可以做如下優化:
2.12、命令&引數:list-databases
引數:與公用引數一樣
2.13、命令&引數:list-tables
引數:與公用引數一樣
2.14、命令&引數:merge
將 HDFS 中不同目錄下面的資料合併在一起並放入指定目錄中
資料環境:
上邊資料的列之間的分隔符應該為\t,行與行之間的分割符為\n。
2.15、命令&引數:metastore
記錄了 Sqoop job 的元資料資訊,如果不啟動該服務,那麼預設 job 元資料的儲存目錄為 ~/.sqoop,可在 sqoop-site.xml 中修改。
如:啟動 sqoop 的 metastore 服務: