google-cloud-platform - 根据客户端 ID 从 BigQuery 导出到 CSV
问题描述
我有一个BigQuery
表格,里面有一系列客户的产品数据。数据已使用查询进行了展平。我想将每个客户端的数据导出到Google Cloud Storage
csv 格式的存储桶中 - 所以每个客户端都有自己的单独 csv。
仅有 100 多个客户端,每个客户端都有一个 client_id,并且表本身的大小为 1GB。我研究过使用云功能查询表,但这将花费超过 100,000 GB 的数据。我还研究了直接从源将客户端导入到单个表中,但我需要对每个表运行扁平化查询 - 再次产生高数据成本。
有没有一种方法可以限制数据使用?
解决方案
正如@Mr.Batra 所提到的,您可以根据client_id 在表上创建分区以调节查询数据的成本和数量。
实现 Cloud Function 并在没有分区的情况下遍历每个客户端 ID 将花费更多,因为每次
SELECT * FROM table WHERE client_id=xxx
查询都会扫描整个表。