从 vertica 导入 sqoop 失败

Posted

技术标签:

【中文标题】从 vertica 导入 sqoop 失败【英文标题】:sqoop import from vertica failed 【发布时间】:2016-02-04 16:52:45 【问题描述】:

我正在尝试使用 sqoop2 将数据集从 Vertica 导入 HDFS。

我在 sqoop 机器上运行以下查询以将数据从 Vertica v6.0.1-7 导入 hdfs

sqoop import -m 1 --driver com.vertica.jdbc.Driver --connect "jdbc:vertica://10.10.10.10:5433/MYDB" --password dbpassword --username dbusername --target-dir "/user/my/hdfs/dir" --verbose --query 'SELECT * FROM ORDER_V2 LIMIT 10;'

但我在这里遇到了一些错误,

16/02/03 10:33:17 ERROR tool.ImportTool: Encountered IOException running import job: java.io.IOException: Query [SELECT * FROM ORDER_V2 LIMIT 10;] must contain '$CONDITIONS' in WHERE clause.
at org.apache.sqoop.manager.ConnManager.getColumnTypes(ConnManager.java:300)
at org.apache.sqoop.orm.ClassWriter.getColumnTypes(ClassWriter.java:1833)
at org.apache.sqoop.orm.ClassWriter.generate(ClassWriter.java:1645)
at org.apache.sqoop.tool.CodeGenTool.generateORM(CodeGenTool.java:96)
at org.apache.sqoop.tool.ImportTool.importTable(ImportTool.java:478)
at org.apache.sqoop.tool.ImportTool.run(ImportTool.java:605)
at org.apache.sqoop.Sqoop.run(Sqoop.java:143)
at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70)
at org.apache.sqoop.Sqoop.runSqoop(Sqoop.java:179)
at org.apache.sqoop.Sqoop.runTool(Sqoop.java:218)
at org.apache.sqoop.Sqoop.runTool(Sqoop.java:227)
at org.apache.sqoop.Sqoop.main(Sqoop.java:236)

考虑到两台机器上的用户名不同,任何人都知道怎么做。

【问题讨论】:

您阅读手册了吗? sqoop.apache.org/docs/1.4.1-incubating/… 我刚刚想通了。谢谢 【参考方案1】:

添加vertica_5.1.4_jdk_5.jar到/var/lib/sqoop之后

添加WHERE $CONDITIONS 解决了这个问题

sqoop import -m 1 --driver com.vertica.jdbc.Driver --connect "jdbc:vertica://10.10.10.10:5433/MYDB" --password dbpassword --username dbusername --target-dir "/user/my/hdfs/dir" --verbose --query 'SELECT * FROM ORDER_V2 WHERE $CONDITIONS;'

【讨论】:

以上是关于从 vertica 导入 sqoop 失败的主要内容,如果未能解决你的问题,请参考以下文章

使用 Hue sqoop 2 从 vertica 获取数据

Sqoop 导入安全 hbase 失败

Sqoop - 错误工具.ImportTool:导入失败:尝试从 SQL Server 导入时无法转换 SQL 类型 2005

Sqoop 导入映射器失败,但 sqoop 作业显示正在运行

Sqoop - 使用 Oozie 导入 Hive 失败

引号中的 Sqoop 导入表参数失败