【问题标题】:Pipeline on Oracle cdap to BigQuery MultitablesOracle cdap 到 BigQuery 多表的管道
【发布时间】:2020-12-22 19:42:36
【问题描述】:

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

【问题讨论】:

    标签: oracle google-bigquery cdap


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

      除了@Yaojie Feng 的响应之外,接收器需要 Avro 格式的架构,但是,Multiple Database Tables source plugin 将生成 BigQuery Multi Table 插件所需的架构-in,下面的例子。

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

      密钥:multisink.NEW_TABLE_NAME

      价值:

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

      Source.

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-11-12
        相关资源
        最近更新 更多