每 5 分钟上传到 GCS 的文本文件如何将它们上传到 BigQuery?

Posted

技术标签:

【中文标题】每 5 分钟上传到 GCS 的文本文件如何将它们上传到 BigQuery?【英文标题】:Text files uploaded to GCS every 5 minutes how to upload them into BigQuery? 【发布时间】:2020-08-08 06:58:12 【问题描述】:

Kafka 将文件作为文本流式传输到 Google Cloud Storage (GCS)。新文件每 5 分钟上传一次。以下是其示例文件的一部分。

这里他们首先提到主题名称,然后是分区和偏移量。它的一些主题具有很少的字段,而其中一些具有大量字段(例如:名为 Sales 的主题具有字段名称 PersonalBC 和 City)。 他们上传到 GCS 的所有文本文件都有大约 15 个主题名称。如何将它们上传到 BigQuery?

最好的方法是什么?

【问题讨论】:

这个问题已经回答了。请找到链接:loading a text files (.txt) in cloud storage into big query table 【参考方案1】:

没什么神奇的,你必须手动解析文件。

当a file arrive in GCS, trigger a Cloud Functions Cloud Functions 执行此操作 下载文件 解析文件并将其转换为存储在/tmp目录中的一个或多个文件 致电BigQuery API to load the data from your local files(每张桌子打一次电话。每张桌子每天最多只能处理 1000 个加载作业)。指定文件格式(CSV 或 JSON 行是最常见且更易于处理/生成的)

【讨论】:

以上是关于每 5 分钟上传到 GCS 的文本文件如何将它们上传到 BigQuery?的主要内容,如果未能解决你的问题,请参考以下文章

FTP 到谷歌存储

如何使用 google-cloud 客户端将大于 32MB 的文件上传到 GCS?

如何在 Python 中创建从 Pub/Sub 到 GCS 的数据流管道

在加入并将它们导出到 GCS 之前,如何等待 BigQuery 上的异步表写入?

gsutil 将特定扩展文件上传到 gcp gcs

将 csv 文件从云存储批量加载到 bigquery