【发布时间】:2016-08-10 19:38:08
【问题描述】:
我正在尝试找出将数据从云存储加载到 BigQuery 的最有效方法。高效我的意思是 - 最好我不想将数据拆分成更小的集合来分别上传每个子集 - 解压缩我的数据以便我可以利用 bq 工具的 5TB 限制对于我的目的来说也是不切实际的,即将 30 多个(>4GB)数据集上传到单独的 BigQuery 表中。
我研究了以下替代方案: 1. bq load - 压缩数据限制为 4GB 2.拆分数据,转换为pandas数据框,转换为json,加载到BQ - 这需要拆分,考虑到我必须上传的数据集数量并且它们都有不同的行大小,所以我想避免这种情况,所以它不会将手头的任务自动化是微不足道的。 3. 云数据流?
我没有研究 Dataflow 的详细信息,但我的总体问题是 - 对于大型数据集,这是一个更好的选择 - 拆分数据并运行批量上传或流式传输数据,即一次插入一行云存储到 BQ?
【问题讨论】:
-
在你的情况下,我会 100% 投票反对流媒体
-
请注意,.gz 文件不是可分片的压缩格式,因此使用非常大的 .gz 文件进行数据存储在任何大规模数据分析框架中都会出现问题。即使支持 100GB 的 .gz 文件,单个工作人员处理该文件也需要 很长时间 时间。
标签: google-bigquery