问题描述
我正在cdap上构建管道,在那里我有一个oracle数据库,可以在其中连接并获取表,然后将这些数据连接到BigQuery Multitables组件。
分别对这两个组件进行了验证,并且通过cdap工具本身进行了验证,当我测试完整管道的执行时,我收到了错误消息:
ERROR Spark program 'phase1' failed with error: BQ_TEST has no outputs.Please check that the sink calls addOutput at some point.
解决方法
听起来来源可能没有任何记录。
除了@@ Yaojie Feng的响应之外,接收器还需要Avro格式的架构,但是Multiple Database Tables
源 plugin将生成所需的架构通过BigQuery Multi Table
插件,如下所示。
使用Avro格式的模式对管道运行时参数进行采样:
键:multisink.NEW_TABLE_NAME
值:
{
"name": "NEW_TABLE_NAME","type": "record","fields": [
{"name": "id","type": "long" },{ "name": "name","type": "string"}
]
}
,
要使用bigquery多接收器,您将需要设置一些运行时参数来告知接收器要写入哪个表。参数的键将类似于multisink。{dataset-name}。{table-name},参数的值将是表架构的json字符串表示形式。