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:///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:///db \
--username root \ 
-e “INSERT INTO employee VALUES(1207,‘Raju’,‘UI dev’,15000,‘TP’)”

如果命令執行成功,則它將在控制檯上顯示更新行的狀態。

或者,你可以在 MySQL 控制檯驗證 employee 表。以下命令用於透過“選擇”查詢驗證db 資料庫的employee 表的行。

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     |
+------+--------------+-------------+-------------------+--------+
廣告
© . All rights reserved.