【问题标题】:sqoop job not running with parameterssqoop 作业未使用参数运行
【发布时间】:2017-05-09 04:52:36
【问题描述】:

我正在尝试运行 sqoop 作业。我使用的是 sqoop 版本 Sqoop 1.4.6-cdh5.8.0,但不适用于此版本

在 Sqoop 1.4.5-cdh5.4.0 上运行良好。

 sqoop job --create E8 -- import  --connect jdbc:mysql://localhost/test -- username root --password cloudera --table NAME --hive-import -m1

 sqoop job --exec E8 -- --table dummy1

是否有任何语法问题。如果有人可以帮助解决这个问题。

       Warning: /usr/lib/sqoop/../accumulo does not exist! Accumulo 
       imports  will fail.
       Please set $ACCUMULO_HOME to the root of your Accumulo installation.
       16/12/23 04:48:10 INFO sqoop.Sqoop: Running Sqoop version: 1.4.6-
       cdh5.8.0
       Enter password: 
       16/12/23 04:48:19 INFO manager.MySQLManager: Preparing to use a 
       MySQL  streaming resultset.
       16/12/23 04:48:19 INFO tool.CodeGenTool: Beginning code generation
       16/12/23 04:48:20 INFO manager.SqlManager:
       Executing SQL statement: SELECT t.* FROM `NAME` AS t LIMIT 1
       16/12/23 04:48:20 ERROR manager.SqlManager: Error executing 
       statement: 
       com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table    
      'test.NAME' doesn't exist

【问题讨论】:

  • 你确定该表存在于测试数据库的Mysql中(情况相同)
  • 是的 table dummy1 存在,它不是 replcaing 参数,而是在 select 查询中取 NAME
  • 按照文档,它应该替换它。语法对我来说似乎很好。您可以尝试从创建作业命令中删除 --table NAME 并且所有这些都只在 exec 中吗?
  • 如果我删除它,则不会创建作业

标签: hadoop sqoop


【解决方案1】:

假设您已经进行了基本检查(例如手动将参数放入作业中并执行它),我会说语法看起来是正确的。

在查看the doc 时,提到可以覆盖属性。不幸的是,它们只显示了一个添加属性的示例,并没有显示覆盖属性。

搜索使我找到this open issue,这使我相信存在一个错误,该错误会阻止您正确覆盖参数。


很遗憾,我没有看到解决方案,一些可能有助于解决问题的方法:

  • 在不同级别上参数化
  • 使用语法(如果它是第一个/最后一个覆盖元素是否有帮助,如果您尝试覆盖并添加用户,如果您尝试覆盖查询参数而不是表参数会怎样...)

【讨论】:

  • 他们提供的补丁是什么
  • @coder25 覆盖可能不起作用。当然,作为一种解决方法,您可以做的不是创建作业并使用参数调用它,而是直接使用所有参数运行作业。 -- 我无法判断补丁,但查看网站我认为该补丁尚未经过测试和实施。
【解决方案2】:

这似乎是 sqoop-1.4.6-cdh5.8.0 和 sqoop-1.4.6-cdh5.9.0 中的一个错误

但是,正如您所提到的,这在 1.4.5 版本中可以正常工作。

以下解决方案对我有用:

1) 从http://repo.spring.io/libs-release/org/apache/sqoop/sqoop/1.4.5-cdh5.4.0/下载'sqoop-1.4.5-cdh5.4.0.jar'

2) 将 'sqoop-1.4.6-cdh5.8.0.jar' 替换为 'sqoop-1.4.5-cdh5.4.0.jar' 并修改符号链接 'sqoop.jar' 指向 'sqoop-1.4 .5-cdh5.4.0.jar'

3)虽然我不支持降级,但这仍然是一种魅力。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-10-06
    • 2015-05-06
    • 1970-01-01
    • 1970-01-01
    • 2017-06-10
    • 2019-07-15
    • 2017-11-09
    • 2019-11-14
    相关资源
    最近更新 更多