2

我正在 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.

在此处输入图像描述

4

2 回答 2

0

听起来来源可能没有任何记录。

补充@Yaojie Feng的回复,sink 需要 Avro 格式的 schema,但是Multiple Database Tables source 插件会生成插件所需的 schema BigQuery Multi Table,示例如下。

带有 Avro 格式架构的示例管道运行时参数:

钥匙:multisink.NEW_TABLE_NAME

价值:

{ 
  "name": "NEW_TABLE_NAME", 
  "type": "record", 
  "fields": [
      {"name": "id", "type": "long" }, 
      { "name": "name", "type": "string"} 
    ]
}

来源

于 2020-10-16T16:30:26.433 回答
0

要使用 bigquery 多接收器,您需要设置一些运行时参数来告诉接收器要写入哪个表。参数的键类似于 multisink.{dataset-name}.{table-name},参数的值将是表模式的 json 字符串表示。

于 2020-09-28T19:20:30.743 回答