【发布时间】:2018-06-11 15:21:48
【问题描述】:
我正在寻找一种使用 sum() 函数聚合包含大约 100 列的 Bigquery 表的解决方案。但 Bigquery 标准 SQL 中不允许以下查询。
select sum(*)
from `dataset.Intermediate_Tables.eventCat_dummies`
group by Id
我想在 Bigquery 中进行这种聚合的原因是它能够处理大量数据。我尝试在 jupyter notebook 中进行相同的聚合,但每次都失败。这可能是因为数据量大(7.3 GiB csv 文件)。我试过的代码如下:
df_type = type_dummies.groupby('Id', sort=False).sum()
任何人都可以就如何获取这个大型数据集的聚合数据提供任何建议和/或替代方案?
使用示例输入和输出进行更新
输入数据
Id col1 col2 col3 col4
1 0 0 0 1
2 0 1 1 1
1 1 0 0 0
4 0 0 0 0
19 0 0 0 0
2 1 1 1 1
期望的输出
Id col1_sum col2_sum col3_sum col4_sum
1 1 0 0 1
2 1 2 2 2
4 0 0 0 0
19 0 0 0 0
在我的原始数据集中,有 100 列和 4000 万行。
【问题讨论】:
-
带有输入和预期输出的简化示例将帮助我们回答您的问题
-
@MikhailBerlyant 感谢您的评论。我会用一个简化的例子来更新它。
标签: google-bigquery jupyter-notebook bigquery-standard-sql