【问题标题】:Sqoop import error -- SQL command not properly endedSqoop 导入错误 -- SQL 命令未正确结束
【发布时间】:2021-07-29 19:19:41
【问题描述】:

初学者

我正在尝试使用从 Oracle 到 HDFS 的 sqoop 导入

我收到错误消息 -

SQL 命令未正确结束,导入失败:java:IOexception:否>为 ClassWriter 生成的列

我的查询是

--query "select a,b,c from db.table where date = to_date('9999-12-31','yyyy-MM-dd')" where \$conditions"
 

【问题讨论】:

  • 1.你能分享完整的 sqoop 命令吗? 2. 确保 $condition 参数被正确传递。

标签: sql oracle hive hdfs sqoop


【解决方案1】:

您的查询包含两个 WHERE 子句,这是语法错误。使用 AND 将 $conditions 添加到同一个 WHERE,整个查询应该双引号,包括 $CONDITIONS,它是同一个 WHERE 的一部分,并且在您的查询中双引号被破坏了。

像这样:

--query "select a,b,c from db.table where date = to_date('9999-12-31','yyyy-MM-dd') and \$CONDITIONS"

检查 sqoop 究竟执行了什么,它是否正确解析(正确传递的条件),使用--verbose 获取更多信息并相应地修复查询。

【讨论】:

  • 通过将所有查询包含在“”中来进行上述更改。也添加了 --verbose。现在我得到IMPORT FAILED:No column by the name Date Updated found while importing data 。但是我的源中没有“更新日期”列。 @leftjoin
猜你喜欢
  • 2017-05-13
  • 1970-01-01
  • 1970-01-01
  • 2012-02-14
  • 1970-01-01
  • 1970-01-01
  • 2014-10-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多