通过sqoop eval传递mysql属性

z9gpfhce  于 2021-06-03  发布在  Sqoop
关注(0)|答案(5)|浏览(406)

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

mzsu5hc0

mzsu5hc01#

您可以创建一个.sh文件,将sqoop命令写入其中,然后将其作为shell\u file\u name.sh>your\u output\u file.txt运行

wj8zmpe1

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

jm2pwxwz

jm2pwxwz3#

你可以表演 Sqoop Import 在hdfs中保存输出的操作。
警告是直截了当的。
你可以设置 $ACCUMULO_HOME , $ZOOKEEPER_HOME 如果有的话。
你可以设置 --connection-manager 对应mysql
为了安全起见,建议使用 -P 而不是在命令中写入。
这些不是错误,你可以接受这些警告。

aij0ehis

aij0ehis4#

-----2014-01-25|
但我希望输出没有警告和表边界,如:
最大(日期)2014-01-25
我基本上想把这个输出存储到一个文件中。提前谢谢

tnkciper

tnkciper5#

-----max(rdate)|

相关问题