1. 程式人生 > >Sqoop-常用命令及引數

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 服務: