use*_*284 0 google-bigquery google-cloud-platform
根据 GCP 文档:
长期储存:
如果一个表连续 90 天没有被编辑,该表的存储价格会自动下降大约 50%。当表被视为长期存储时,不会降低性能、持久性、可用性或任何其他功能。
有没有办法在 Bigquery 数据集中列出符合此条件的所有表?
一种方法是使用一些 Bash 魔法。我已经使用jq预安装的Cloud Shell 快速解决了这个问题。它的工作原理是:
bq show获取该表的元数据信息jq拉出id和numLongTermBytesnumLongTermBytes是长期存储量。如果它是 0,那么它是活动存储。不确定这将如何与分区和集群表一起使用(您需要测试),但至少应该足以让您入门。你当然可以写一个更简洁的 Python 脚本或其他东西,但我喜欢 Bash 的“简单性”:)
注意到这有点脆弱/脆弱的解决方案。
bq ls --format=json | jq -r '.[].id' | xargs -n 1 -P 4 -i bq ls --format=json {} | jq -r '.[].id' | xargs -n 1 -P 4 -i bq show --format=json {} | jq -r '.id + "," + .numLongTermBytes'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
373 次 |
| 最近记录: |