【发布时间】: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