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 |
+------+--------------+-------------+-------------------+--------+