Sqoop Eval工具


本章介紹了如何使用Sqoop “eval”工具。它允許使用者執行使用者定義的查詢,對各自的資料庫伺服器和預覽結果在控制台中。這樣,使用者可以期望得到的表資料來匯入。使用eval我們可以評估任何型別的SQL查詢可以是DDL或DML語句。

語法

以下語法用於Sqoop eval命令。

$ sqoop eval (generic-args) (eval-args) 
$ sqoop-eval (generic-args) (eval-args)

選擇查詢評估計算

使用eval工具,我們可以評估計算任何型別的SQL查詢。讓我們在選擇DB資料庫的employee表行限制的一個例子。下面的命令用來評估計算使用SQL查詢給定的例子。

$ sqoop eval \
--connect jdbc:mysql://localhost/db \
--username root \ 
--query SELECT * FROM employee LIMIT 3

如果命令成功執行,那麼它就會產生在終端上顯示下面的輸出。

+------+--------------+-------------+-------------------+--------+
| Id   | Name         | Designation | Salary            | Dept   |
+------+--------------+-------------+-------------------+--------+
| 1201 | gopal        | manager     | 50000             | TP     |
| 1202 | manisha      | preader     | 50000             | TP     |
| 1203 | khalil       | php dev     | 30000             | AC     |
+------+--------------+-------------+-------------------+--------+

插入查詢計算

Sqoop的eval工具可以適用於兩個模擬和定義的SQL語句。這意味著,我們可以使用eval的INSERT語句了。下面的命令用於在DB資料庫的員工(employee) 表中插入新行。

$ sqoop eval \
--connect jdbc:mysql://localhost/db \
--username root \ 
-e INSERT INTO employee VALUES(1207,‘Raju’,‘UI dev’,15000,‘TP’)”

如果命令成功執行,那麼它會顯示在控制台上更新的行的狀態。

或者,可以驗證在MySQL控制台 employee 表。下面的命令是用來驗證DB資料庫的employee表使用"select“查詢行。

mysql>
mysql> use db;
mysql> SELECT * FROM employee;
+------+--------------+-------------+-------------------+--------+
| Id   | Name         | Designation | Salary            | Dept   |
+------+--------------+-------------+-------------------+--------+
| 1201 | gopal        | manager     | 50000             | TP     |
| 1202 | manisha      | preader     | 50000             | TP     |
| 1203 | khalil       | php dev     | 30000             | AC     |
| 1204 | prasanth     | php dev     | 30000             | AC     |
| 1205 | kranthi      | admin       | 20000             | TP     |
| 1206 | satish p     | grp des     | 20000             | GR     |
| 1207 | Raju         | UI dev      | 15000             | TP     |
+------+--------------+-------------+-------------------+--------+