如何通过 Java 程序获取 Bigquery 表的架构?
Posted
技术标签:
【中文标题】如何通过 Java 程序获取 Bigquery 表的架构?【英文标题】:How to get the schema of a Bigquery table via a Java program? 【发布时间】:2017-09-04 22:46:01 【问题描述】:我使用 DataFlow 2.0/Apache Beam 作为框架从 BigQuery 读取数据并写入 SQL 数据库。想从 BigQuery 中读取架构定义,然后在 SQL 定义中创建一个等效表。
获取 BigQuery 架构定义的 Java API 是什么?
文档只讨论读取数据而不是元数据。
谢谢 -ravi
【问题讨论】:
【参考方案1】:您可以使用BigQuery Java client library。可以通过bigQuery.getTable(datasetId, tableId).getDefinition().getSchema()
访问表的架构。
【讨论】:
BigQuery Java 客户端库似乎与 DataFlow 有问题,github.com/GoogleCloudPlatform/DataflowJavaSDK/issues/… 有一个解决方法,也许使用 BigqueryIO 库? 显然这不是提到该问题的唯一评论github.com/spotify/scio/issues/951#issuecomment-348017824以上是关于如何通过 Java 程序获取 Bigquery 表的架构?的主要内容,如果未能解决你的问题,请参考以下文章
如何获取 ValueProvider 的值并将其写入 BigQuery 表?
如何通过 BigQuery 中的 WebUI 导出现有表的架构?
用于读取 JSON 格式数据的 BigQuery 表 URL
使用 Java 客户端库在 BigQuery 中获取按标签过滤的表列表