scio类型安全BigQuery类 - 注释问题

时间:2018-05-15 02:47:51

标签: scala google-bigquery google-cloud-dataflow apache-beam spotify-scio

我正在尝试使用类型安全的BigQuery类。我还安装了intellij scio plugin。但是我得到了错误,

  

错误:(37,21)类型参数[RowElement]不符合方法类型dBigQuery的类型参数bounds [T<:com.spotify.scio.bigquery.types.BigQueryType.HasAnnotation]       sc.typedBigQueryRowElement

这是我的scala代码:

def main(args: Array[String]): Unit = {

  @BigQueryType.fromQuery("select id, org, env from TABLE") 
  class RowElement

  val (sc: ScioContext, arg) = ContextAndArgs(args)
  sc.typedBigQuery[RowElement]("select id, org, env from TABLE")
    .saveAsTypedBigQuery("TABLE_DEST")
  sc.close()
}

1 个答案:

答案 0 :(得分:0)

所有@BigQueryType注释都应位于object的顶层,以避免出现任何宏扩展问题。例如:

object MyPipeline { @BigQueryType.fromQuery("...") class MyRecord }