我知道有关于表号限制的问题,但它含糊不清...... 在数据集中,我想创建大约1-2百万个表。发生这种情况是因为我想将用户活动表拆分为较小的表;为每个用户一个表。随着时间的推移,这个数字将继续增长。 据我所知,BigQuery的问题没有问题......但是我担心我无法从浏览器(https://bigquery.cloud.google.com/queries/appname)访问(列出)这些数据集;因为这些表没有按时间分组(就像有时间范围的表一样)并且它们全部列在无限滚动中(可能阻止浏览器)
感谢您提出任何建议
答案 0 :(得分:3)
...问题是浏览器会在列出所有内容时被阻止 数据集中的表
您可以使用“?minimal”参数将加载操作限制为每个项目30,000个表,因此不会阻止浏览器。例如:
https://bigquery.cloud.google.com/queries/<your_project_name>?minimal.
详细了解Display limits
我无法轻易探索我的数据集(并查询它们)
如果您计划在同一数据集中拥有超过200万个表,即使Web UI要向您展示而不被阻止 - 我真的怀疑您能够以某种方式合理地在视觉上探索它们。太多的物体要“吞下”
顺便说一句,这不仅是人类特定的问题 - 即使以编程方式查询这样的“长”表列表也可能存在问题。详细了解Using meta-tables
因为表没有按时间分组(就像带有时间范围的表一样)并且它们全部列在无限滚动中(可能阻止浏览器)
这是正确的,在BigQuery Web UI表中,只有当它们遵循table_preffixYYYYMMDD模式时才会被分组。即使你将你的userID名称空间映射到YYYYMMDD值 - 你仍然会运气不好,因为你的组仍将由数百万个表组成。
感谢您提出任何建议
BigQuery支持Partitioned Tables,允许在同一个表中包含多个分区。不幸的是,截至今天,只支持Date-Partitioned表,但是我听到BigQuery Team计划通过任意列添加分区。
这可能适合您想要的设计,除非对列基数有限制
同时,如果您愿意,可以通过将用户标识映射到YYYYMMDD(~9999 * 12 * 30>> 3百万用户)来尝试使用日期分区表功能来应用您的设计
我的建议:
答案 1 :(得分:0)
作为替代解决方案,您可以使用Google cloud sdk client。
您可以阅读此bq命令行工具here的文档。
例如:bq ls [project_id:][dataset_id]
列出所有表格。
注意:每个查询的最大表数限制为1000. Refer