首页 > 解决方案 > 根据客户端 ID 从 BigQuery 导出到 CSV

问题描述

我有一个BigQuery表格,里面有一系列客户的产品数据。数据已使用查询进行了展平。我想将每个客户端的数据导出到Google Cloud Storagecsv 格式的存储桶中 - 所以每个客户端都有自己的单独 csv。

仅有 100 多个客户端,每个客户端都有一个 client_id,并且表本身的大小为 1GB。我研究过使用云功能查询表,但这将花费超过 100,000 GB 的数据。我还研究了直接从源将客户端导入到单个表中,但我需要对每个表运行扁平化查询 - 再次产生高数据成本。

有没有一种方法可以限制数据使用?

标签: google-cloud-platformgoogle-bigquery

解决方案


正如@Mr.Batra 所提到的,您可以根据client_id 在表上创建分区以调节查询数据的成本和数量。

实现 Cloud Function 并在没有分区的情况下遍历每个客户端 ID 将花费更多,因为每次 SELECT * FROM table WHERE client_id=xxx查询都会扫描整个表。


推荐阅读