【发布时间】:2016-04-20 06:57:32
【问题描述】:
我在将 BigQuery 中的大量数据表(15 亿行)从行转换为列时遇到问题。我可以弄清楚如何在硬编码时使用少量数据来完成它,但是数量很大。该表的快照如下所示:
+--------------------------+
| CustomerID Feature Value |
+--------------------------+
| 1 A123 3 |
| 1 F213 7 |
| 1 F231 8 |
| 1 B789 9.1 |
| 2 A123 4 |
| 2 U123 4 |
| 2 B789 12 |
| .. .. .. |
| .. .. .. |
| 400000 A123 8 |
| 400000 U123 7 |
| 400000 R231 6 |
+--------------------------+
所以基本上有大约 400,000 个不同的 customerID 和 3000 个特征,并不是每个 customerID 都具有相同的特征,所以有些 customerID 可能有 2000 个特征,而有些有 3000 个。我想得到的最终结果表是每一行都有一个不同的客户 ID,并具有 3000 列显示所有功能。像这样:
CustomerID Feature1 Feature2 ... Feature3000
所以有些单元格可能有缺失值。
有人知道如何在 BigQuery 或 SQL 中执行此操作吗?
提前致谢。
【问题讨论】:
标签: mysql sql sql-server google-bigquery transpose