【问题标题】:StreamSets JDBC Query Consumer - Undefined column. columnName=0StreamSets JDBC 查询使用者 - 未定义的列。列名=0
【发布时间】:2018-06-14 07:31:15
【问题描述】:

我需要使用 StreamSets 将 Phoenix 表中的记录转换为 JSON 文件。出于最初的 POC 目的,我正在尝试从 Phoenix 中简单地提取到文件中。源是指向 Phoenix 的 JDBC 查询消费者,目前,它直接连接到本地 FS 目标。在实际实现中,当然会有更多的组件,比如 Jython Evaluator。

它验证得很好。但是当我尝试运行它时,我收到以下错误:

管道状态:RUNNING_ERROR: com.streamsets.pipeline.api.StageException: JDBC_77 - ColumnNotFoundException 试图执行查询'SELECT columns I had selected> FROM schema >.表格>'。根据阶段配置在 1 个错误后放弃。第一个错误:SQLState: 42703 错误代码:504 消息:错误 504 (42703):未定义的列。列名=0

我基本上没有任何使用 StreamSets 或 Phoenix 的经验(是的,我想在这里稍微改进一下)。出现此错误是因为我将 JDBC 对象直接连接到本地 FS 吗?在 Informatica 中,我们必须为 Source 对象创建列模板。我在 JDBC 对象中看不到任何选项。除了以下字段,我几乎将所有内容都保留为默认值:

  • JDBC 连接字符串:jdbc:phoenix:ip-some_ip>-south-1.compute.internal:2181/hbase-unsecure,ip-some_ip>.ap-south-1.compute.internal:2181/hbase-unsecure,ip-some_ip>.ap-south-1.compute.internal:2181/hbase-unsecure
  • SQL 查询: SELECT columns I have selected> FROM schema>.table>
  • 使用凭据 & 增量模式:未选中
  • 初始偏移量 & 偏移量列:0
  • 根字段类型:List-Map

这越来越令人沮丧。请帮忙!

【问题讨论】:

    标签: jdbc phoenix streamsets


    【解决方案1】:

    我认为问题在于您将0 作为偏移列 - 这应该是偏移列的名称。事实上,如果您不进行增量查询,我认为您根本不需要偏移量,因此您可能只想删除这些设置。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-06-12
      • 1970-01-01
      • 2017-10-15
      • 2018-05-04
      • 2017-12-13
      • 2021-02-05
      • 2019-01-20
      • 1970-01-01
      相关资源
      最近更新 更多