StreamSets JDBC查询使用者 - 未定义列。 COLUMNNAME = 0

时间:2018-06-14 07:31:16

标签: jdbc phoenix streamsets

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

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

  

管道状态:RUNNING_ERROR:com.streamsets.pipeline.api.StageException:JDBC_77 - 尝试执行查询的SELECT 列的ColumnNotFoundException > FROM< 架构>。< table >'。根据阶段配置放弃1个错误。第一个错误:SQLState:42703错误代码:504消息:ERROR 504(42703):未定义列。 COLUMNNAME = 0

我基本上没有使用StreamSets或Phoenix的经验(是的,我试图将它放在这里一点)。这个错误是否会出现,因为我将JDBC对象直接连接到Local FS?在Informatica中,我们必须为Source对象创建列模板。我没有在JDBC对象中看到任何选项。除了下面的字段外,我几乎把所有东西都保留了下来:

  • JDBC连接字符串:jdbc:phoenix:ip-< some_ip > -south-1.compute.internal:2181 / hbase-unsecure,ip-&lt ; some_ip > .AP-南1.compute.internal:2181 / HBase的-不安全,IP-< some_ip > .AP-南1.compute 。内部:2181 / HBase的-不安全
  • SQL查询:我选择的SELECT< > FROM< 架构>。< table >
  • 使用凭据& 增量模式:未选中
  • 初始偏移& 偏移列:0
  • 根字段类型:列表地图

令人沮丧。请帮忙!

1 个答案:

答案 0 :(得分:1)

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