1

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

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

这是我的斯卡拉代码:

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()
}
4

1 回答 1

0

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

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

于 2018-09-21T09:30:47.550 回答