【问题标题】:Load protobuf data to bigquery将 protobuf 数据加载到 bigquery
【发布时间】:2020-12-17 07:40:31
【问题描述】:
我是 protobuf 数据的新手,我通过谷歌搜索从 proto 文件生成了 python 代码,现在我想将 GCS 中的 protobuf 数据加载到 bigquery。我在谷歌上搜索了很多以找到一种将 protobuf 数据直接加载到 bigquery 的方法。
我正在浏览几个 github 存储库,如下所示。
https://github.com/googleapis/java-bigquerystorage
谁能解释或指导我一个关于如何将 protobuf 数据加载到 bigquery 的简单示例。
【问题讨论】:
标签:
python
google-bigquery
protocol-buffers
google-cloud-dataflow
apache-beam
【解决方案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 等)
详情请查阅文档。