谷歌表示,BigQuery可以处理数十亿行数据。
对于我的应用程序,我估计需要处理2亿*1000行数据,远远超过数十亿行。
我可以将数据分成每个分区200,000,000行,但是在BigQuery中,唯一支持的方式似乎是使用不同的表。(如果我理解错误,请纠正我)
总数据大小约为2TB。
我在示例中看到了一些大型数据集,但所有行都少于十亿行。
BigQuery能否支持单个表格处理我所处理的行数?
如果不能,除了使用多个表格之外,我还能以其他方式进行分区吗?
谷歌表示,BigQuery可以处理数十亿行数据。
对于我的应用程序,我估计需要处理2亿*1000行数据,远远超过数十亿行。
我可以将数据分成每个分区200,000,000行,但是在BigQuery中,唯一支持的方式似乎是使用不同的表。(如果我理解错误,请纠正我)
总数据大小约为2TB。
我在示例中看到了一些大型数据集,但所有行都少于十亿行。
BigQuery能否支持单个表格处理我所处理的行数?
如果不能,除了使用多个表格之外,我还能以其他方式进行分区吗?
以下应该可以回答你的问题
我对其中一个数据集进行了运行
如您所见,表格大小接近10TB,大约有13-16亿行
SELECT
ROUND(size_bytes/1024/1024/1024/1024) as TB,
row_count as ROWS
FROM [mydataset.__TABLES__]
ORDER BY row_count DESC
LIMIT 10
我认为我们目前处理过的最大表格至少达到了 50-60 亿,并且一切都按预期工作。
Row TB ROWS
1 10.0 1582903965
2 11.0 1552433513
3 10.0 1526783717
4 9.0 1415777124
5 10.0 1412000551
6 10.0 1410253780
7 11.0 1398147645
8 11.0 1382021285
9 11.0 1378284566
10 11.0 1369109770
简短回答:是的,BigQuery可以很好地处理这个问题,即使您将所有数据放在单个表中。
如果您确实想要对数据进行分区,则目前唯一的方法是明确地将数据存储在多个表中。如果您经常仅查询数据的子集,则可以考虑这样做以减少账单。许多用户按日期对其数据进行分区,并使用表通配符函数在这些分区表的子集上编写查询。