将 protobuf 数据加载到 bigquery
Posted
技术标签:
【中文标题】将 protobuf 数据加载到 bigquery【英文标题】:Load protobuf data to bigquery 【发布时间】:2020-12-17 07:40:31 【问题描述】:我是 protobuf 数据的新手,我通过谷歌搜索从 proto 文件生成了 python 代码,现在我想将 GCS 中的 protobuf 数据加载到 bigquery。我在谷歌上搜索了很多以找到一种将 protobuf 数据直接加载到 bigquery 的方法。
我正在浏览几个 github 存储库,如下所示。
https://github.com/googleapis/java-bigquerystorage
谁能解释或指导我一个关于如何 的简单示例。
【问题讨论】:
【参考方案1】:一种方法是运行代码以将 protobuf 数据转换为 BigQuery 知道如何读取的数据:JSON、Avro 或 Parquet。
最简单的是 JSON。
将 JSON 格式的数据导出到 GCS 上的某个位置,然后让 Bigquery 加载 JSON 数据。最简单的方法是通过 bq 命令行工具,例如:
bq load --ignore_unknown_values --autodetect --source_format=NEWLINE_DELIMITED_JSON datasetName.tableName gs://yourGCSpath
这将要求 BQ 从 JSON 数据中派生表模式。如果您想加载到具有已知架构的现有表中,您可以提供 JSON 格式的架构文件作为参数。
将数据加载到 BQ 是免费的,但有一些限制(例如每个表每天不超过 1500 次加载,每个加载作业不超过 15TB 等)
详情请查阅文档。
【讨论】:
以上是关于将 protobuf 数据加载到 bigquery的主要内容,如果未能解决你的问题,请参考以下文章
在 Java 中将 protobuf 转换为 bigquery
用于将数据从谷歌电子表格加载到 bigquery 的独立脚本