每 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?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 google-cloud 客户端将大于 32MB 的文件上传到 GCS?
如何在 Python 中创建从 Pub/Sub 到 GCS 的数据流管道