sqoop eval命令:
sqoop eval --connect 'jdbc:mysql://<connection url>' --driver com.mysql.jdbc.Driver --query "select max(rdate) from test.sqoop_test"
给我输出:
警告:/usr/hdp/2.3.2.0-2950/acumulo不存在!accumulo进口将失败。请将$accumulo\u home设置为accumulo安装的根目录。警告:/usr/hdp/2.3.2.0-2950/zookeeper不存在!accumulo进口将失败。请将$zookeeper\u home设置为zookeeper安装的根目录。2005年10月16日18:38:17信息sqoop.sqoop:运行sqoop版本:1.4.6.2.3.0-2950 2005年10月16日18:38:17警告工具。basesqooptool:在命令行上设置密码不安全。考虑改用-p。16/10/05 18:38:17 warn sqoop.connfactory:参数--driver设置为显式驱动程序,但未设置相应的连接管理器(通过--connection manager)。sqoop将退回到org.apache.sqoop.manager.genericjdbcmanager。请明确指定下次应使用哪个连接管理器。2005年10月16日18:38:17 info manager.sqlmanager:使用默认的fetchsize 1000
5条答案
按热度按时间mzsu5hc01#
您可以创建一个.sh文件,将sqoop命令写入其中,然后将其作为shell\u file\u name.sh>your\u output\u file.txt运行
wj8zmpe12#
我们有两种方法来获取查询结果:
另一种方法是,您可以通过导入查询结果(--target dir/path)写入hdfs并从中读取。
您可以更改sqoop命令中的文件系统选项来存储import查询的结果,因此背后的想法是将数据导入本地文件系统而不是hdfs。
例如:sqoop import-fs local-jt local--connect“connection string”--username root--password root查询“select*from table”--target dir/home/output
https://sqoop.apache.org/docs/1.4.0-incubating/sqoopuserguide.html#id1762587
jm2pwxwz3#
你可以表演
Sqoop Import
在hdfs中保存输出的操作。警告是直截了当的。
你可以设置
$ACCUMULO_HOME
,$ZOOKEEPER_HOME
如果有的话。你可以设置
--connection-manager
对应mysql为了安全起见,建议使用
-P
而不是在命令中写入。这些不是错误,你可以接受这些警告。
aij0ehis4#
-----2014-01-25|
但我希望输出没有警告和表边界,如:
最大(日期)2014-01-25
我基本上想把这个输出存储到一个文件中。提前谢谢
tnkciper5#
-----max(rdate)|