Bigquery 表元数据:类型 2 表为空但可查询
Posted
技术标签:
【中文标题】Bigquery 表元数据:类型 2 表为空但可查询【英文标题】:Bigquery tables meta data: type 2 tables are empty but queryable 【发布时间】:2021-12-27 08:14:56 【问题描述】:我想知道为什么在 crypto_bitcoin
数据集上对空表(如 inputs
)进行查询会返回所需的结果!
让我们检查一下表的元数据:
# project_id dataset_id table_id creation_time last_modified_time row_count size_bytes type
# 0 bigquery-public-data crypto_bitcoin blocks 1547490497012 1637478718029 710664 231483216 1
# 1 bigquery-public-data crypto_bitcoin inputs 1547524356605 1637411737414 0 0 2
# 2 bigquery-public-data crypto_bitcoin outputs 1547524350726 1637411717125 0 0 2
# 3 bigquery-public-data crypto_bitcoin transactions 1547491686807 1637478717455 688583399 1532618029551 1
# 4 bigquery-public-data crypto_bitcoin transactions-2021-10-28T23_18_45 1635477564574 1635477564574 682200389 1520464709331 6
这些查询似乎报告了 inputs
和 outputs
的 0 字节,因此它们是免费的。
但是,以下查询返回结果:
query = """
SELECT inputs.value as value
FROM `bigquery-public-data.crypto_bitcoin.inputs` as inputs
LIMIT 10
"""
transactions = crypto_bitcoin.query_to_pandas_safe(query, max_gb_scanned=27)
print(transactions)
value
0 1121913.000000000
1 2530000.000000000
2 43852957.000000000
3 6064813.000000000
4 200000.000000000
5 921665002.000000000
6 159497.000000000
7 266185.000000000
8 37268226789.000000000
9 9493833.000000000
【问题讨论】:
【参考方案1】:inputs
和 outputs
都是视图,因此它们本身不存储任何数据,这就是为什么行和字节大小均为 0。它们都引用了 transactions
数据集,因此适用于该数据集的大小。
【讨论】:
以上是关于Bigquery 表元数据:类型 2 表为空但可查询的主要内容,如果未能解决你的问题,请参考以下文章