Sqoop 评估
本章介绍如何使用 Sqoop “评估”工具。它允许用户对各自的数据库服务器执行用户定义的查询并在控制台中预览结果。因此,用户可以期望导入的结果表数据。使用 eval,我们可以评估任何类型的 SQL 查询,可以是 DDL 或 DML 语句。
语法
以下语法用于 Sqoop eval 命令。
$ sqoop eval (generic-args) (eval-args) $ sqoop-eval (generic-args) (eval-args)
选择查询评估
使用 eval 工具,我们可以评估任何类型的 SQL 查询。让我们以在 employee table of db 数据库。以下命令用于使用 SQL 查询评估给定示例。
$ sqoop eval \ --connect jdbc:mysql://本地主机/数据库\ --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 用于插入语句。以下命令用于在 employee table of db 数据库。
$ sqoop eval \ --connect jdbc:mysql://本地主机/数据库\ --username root \ -e “INSERT INTO employee VALUES(1207,‘Raju’,‘UI dev’,15000,‘TP’)”
如果命令执行成功,那么它将在控制台上显示更新行的状态。
否则,你可以在 MySQL 控制台上验证员工表。以下命令用于验证 employee table of db 使用 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 | +------+--------------+-------------+-------------------+--------+