背景:我们在 Beam 2.0 中使用云数据流运行器将我们的数据 ETL 到我们在 BigQuery 中的仓库。我们希望使用 BigQuery 客户端库 (Beta) 在光束管道向数据仓库填充数据之前创建数据仓库的架构。(原因:对表定义的完全控制,例如分区、易于创建 DW 实例(即数据集)、ETL 逻辑与 DW 设计的分离以及代码模块化)
问题:Beam 中的 BigQury IO 使用 com.google.api.services.bigquery.model 下的 TableFieldSchema 和 TableSchema 类来表示 BigQuery 字段和架构,而 BigQuery 客户端库使用 com.google.cloud.bigquerypackage 下的 TableDefinition 来表示相同的东西,所以字段和模式定义不能在一个地方定义并在另一个地方重复使用。
有没有办法在一个地方定义架构并重新使用它?
谢谢,索比
ps 我们在 Beam 中使用 Java SDK