sql - 查看 BigQuery 表/数据集的历史元数据
问题描述
有没有办法查看 BigQuery 表的历史信息?例如,如果我想检查表格的大小是如何变化的?
尝试:
无,因为我不知道这是否可行。
解决方案
具体取决于您想要获取的信息,有多种方法可以完成此操作:
时间旅行
如问题评论中所述,要获取过去 7 天给定时间的数据集状态,您可以使用time travel。
指标
要了解上传的行或数据集中使用的存储,您可以使用 GCP 指标,特别是上传或存储的行字节。
对表进行分区
另一种可能性是按摄取时间对表进行分区。这将在您的表中创建一个名为 的伪列_PARTITIONTIME
,并且您将能够根据摄取时间运行查询(根据分区表的边界限制,精确到一小时)。
如果对表进行分区,则可以使用如下查询查询每小时插入的行:
SELECT _PARTITIONTIME as insert_time,
count(1) as count,
FROM `project-id.dataset-id.table-id`
GROUP BY _PARTITIONTIME
ORDER BY 1 DESC
如果您想知道某个时间点有多少行,可以运行另一个查询,如下所示:
SELECT COUNT(1) as count
FROM `project-id.dataset-id.table-id`
WHERE _PARTITIONTIME < TIMESTAMP("2016-04-15 08:00:00")
分区表文档中的更多示例。
推荐阅读
- r - 将两个不同数据帧中的匹配值相加
- html - 为什么我的嵌套网格容器没有创建等宽的列?
- css - Bootstrap 4中心项目仅在小视口上,但在其他尺寸上没有对齐?
- r - 年龄组按月分组
- c# - 施工成员和本地分配的使用有什么区别?
- azure - 使用 Az Powershell 禁用 azure 函数应用远程调试
- mysql - CREATE 方法后的 Angular http GET 请求不更新数据集(整表)
- apollo - Apollo 客户端 writeQuery 更新存储,但 UI 组件仅在第二次函数调用后更新
- apollo - 是否可以使用 ApolloTestingModule 重置缓存?
- html - 为什么溢出:当父 div 具有列数时,隐藏在 chrome 中不起作用