- Sqoop 教程
- Sqoop - 首页
- Sqoop - 概述
- Sqoop - 安装
- Sqoop - 导入
- Sqoop - 导入所有表
- Sqoop - 导出
- Sqoop - Sqoop 作业
- Sqoop - 代码生成
- Sqoop - Eval
- Sqoop - 列出数据库
- Sqoop - 列出表
- Sqoop 实用资源
- Sqoop - 问题和解答
- Sqoop - 快速指南
- Sqoop - 实用资源
- Sqoop - 讨论
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://127.0.0.1/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://127.0.0.1/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 | +------+--------------+-------------+-------------------+--------+
广告