使用 SQL 或 Python 如何确定 table 是否属于 table 的分片集(在 BigQuery 中)?
With SQL or Python how can I find out if a table is part of a sharded set of tables (in BigQuery)?
我想知道我的 table 尺码是多少(在 BigQuery 中)。
但是,我想总结属于一组特定的分片 table 的所有 table 的大小。
所以我需要找到显示 table 是一组分片 tables 的一部分的元数据。
所以我可以做到:
select
sum(size_bytes)/pow(2, 30) as size_gb
from
<your_dataset>.__TABLES__
但在这里我看不到 table 是否是一组 table 的分片集的一部分。
这就是我的 Google 分析分片 table 在 BQ 中的样子:
所以某处必须是元数据,表明 tables 与例如名称 ga_sessions_20220504
属于分片集 ga_sesssions_
Where/how 我能找到那个元数据吗?
我认为您正在探索正确的查询,大多数时候,我使用以下查询来深入了解分片及其大小
SELECT
project_id,
dataset_id,
table_id,
array_reverse(SPLIT(table_id, '_'))[OFFSET(0)] AS shard_pt,
DATE(TIMESTAMP_MILLIS(creation_time)) creation_dt,
ROUND(size_bytes/POW(1024, 3), 2) size_in_gb
FROM
`<project>.<dataset>.__TABLES__`
WHERE
table_id LIKE 'ga_sessions_%'
ORDER BY
4 DESC
结果(在一些随机 GA 数据集上我可以访问 FYI)
通过 SQL 在 table 上没有元数据。
表在 BigQuery 中显示为分片 UI 当您执行以下操作时会发生 ->
创建 2 个或更多具有以下特征的 table:
- 存在于同一个数据集中
- 具有完全相同的 table 架构
- 相同的前缀
- 具有 _YYYYMMDD 形式的后缀(例如 20210130)
这些是遗留功能,它们更常用于 bigquery 的遗留 SQL。
此博客对此很有见地:
https://mark-mccracken.medium.com/bigquery-date-sharding-vs-date-partitioning-cee3754f7900
我想知道我的 table 尺码是多少(在 BigQuery 中)。
但是,我想总结属于一组特定的分片 table 的所有 table 的大小。
所以我需要找到显示 table 是一组分片 tables 的一部分的元数据。
所以我可以做到:
select
sum(size_bytes)/pow(2, 30) as size_gb
from
<your_dataset>.__TABLES__
但在这里我看不到 table 是否是一组 table 的分片集的一部分。
这就是我的 Google 分析分片 table 在 BQ 中的样子:
所以某处必须是元数据,表明 tables 与例如名称 ga_sessions_20220504
属于分片集 ga_sesssions_
Where/how 我能找到那个元数据吗?
我认为您正在探索正确的查询,大多数时候,我使用以下查询来深入了解分片及其大小
SELECT
project_id,
dataset_id,
table_id,
array_reverse(SPLIT(table_id, '_'))[OFFSET(0)] AS shard_pt,
DATE(TIMESTAMP_MILLIS(creation_time)) creation_dt,
ROUND(size_bytes/POW(1024, 3), 2) size_in_gb
FROM
`<project>.<dataset>.__TABLES__`
WHERE
table_id LIKE 'ga_sessions_%'
ORDER BY
4 DESC
结果(在一些随机 GA 数据集上我可以访问 FYI)
通过 SQL 在 table 上没有元数据。
表在 BigQuery 中显示为分片 UI 当您执行以下操作时会发生 ->
创建 2 个或更多具有以下特征的 table:
- 存在于同一个数据集中
- 具有完全相同的 table 架构
- 相同的前缀
- 具有 _YYYYMMDD 形式的后缀(例如 20210130)
这些是遗留功能,它们更常用于 bigquery 的遗留 SQL。
此博客对此很有见地:
https://mark-mccracken.medium.com/bigquery-date-sharding-vs-date-partitioning-cee3754f7900