内容
1.目的
为了快速对数据库运行简单的SQL查询,在Sqoop中使用Sqoop Eval工具。 Sqoop Eval提供了更多的用途。本章中,我们将介绍它的语法和命令。
2.什么是Sqoop Eval?
Sqoop Eval可以快速对数据库运行简单的SQL查询。可在控制台中预览结果,使用Sqoop Eval工具。作为用户,我们可以期望得到的表格数据从而进行Sqoop import。通过它,我们可以评估任何类型的SQL语句。 DDL或DML语句也可通过eval。
3.为什么Sqoop Eval?
Sqoop Eval的主要目的是允许用户快速地对数据库运行简单的SQL查询。之后,结果将输出到控制台。此外,Sqoop Eval允许用户预览他们的Sqoop import查询,以确保导入他们期望的数据。
4. Sqoop Eval的语法
$ sqoop eval(generic-args)(eval-args)
Sqoop eval参数相互之间可以以任何顺序输入,但Hadoop通用参数只能在eval参数之前。
通用参数
SQL Eval 参数
5. Sqoop Eval 进行 Select Eval
如前所述,可以使用eval工具评估任何类型的SQL查询。 例如,在DB数据库的employee表中选择有限的行。 使用以下命令:
$ sqoop eval \ –connect jdbc:mysql://localhost/db \ –username root \ –query “SELECT * FROM employee LIMIT 3”
如果命令执行成功,它将在终端上产生以下输出:
6. Sqoop Eval 进行 Insert Eval
对于DML和DDL SQL语句,都可以应用Sqoop eval工具。 例如,也可以指定Insert语句, 要在DB数据库的employee表中插入新行,使用以下命令:
$ sqoop eval \ –connect jdbc:mysql://localhost/db \ –username root \ -e “INSERT INTO employee VALUES(1007,‘Gem’,‘UI dev’,15000,‘TP’)”
如果命令成功执行,它将在控制台上显示更新行的状态。
使用select 查询,可以使用以下Sqoop Eval命令来验证的empoloyee的插入新行的内容:
mysql> use DB; mysql> SELECT * FROM employee;
Sqoop Eval