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