将 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

将 avro 十进制数据加载到 BigQuery 中?

将数据从 Google 永久磁盘加载到 BigQuery?

用于将数据从谷歌电子表格加载到 bigquery 的独立脚本

将数据从 BigQuery 表加载到 Dataproc 集群时出错

将时间戳从 Dataframe 加载到 BigQuery 数据集