gpt4 book ai didi

sql - BigQuery 检查表是否存在

转载 作者:行者123 更新时间:2023-12-02 07:55:48 27 4
gpt4 key购买 nike

我正在使用 C# 根据来自 bigquery api 表端点的响应动态构建查询。我正在尝试计算有效的活跃用户,但前提是我选择带有 .* 的每个表。我的问题真的很简单,有没有办法检查 BigQuery SQL 中是否存在表?

最佳答案

有称为 __TABLES____TABLES_SUMMARY__

的元表

您可以运行如下查询:

SELECT size_bytes FROM <dataset>.__TABLES__ WHERE table_id='mytablename'

该查询的 __TABLES__ 部分可能看起来很陌生。 __TABLES_SUMMARY__ 是一个元表,包含有关数据集中的表的信息。您可以自己使用这个元表。例如,查询 SELECT * FROM publicdata:samples.__TABLES_SUMMARY__ 将返回有关 publicdata:samples 数据集中表的元数据。您还可以执行SELECT * FROM publicdata:samples.__TABLES__

可用字段:

__TABLES_SUMMARY__ 元表的字段(在 TABLE_QUERY 查询中均可用)包括:

  • table_id:表的名称。
  • creation_time:表的创建时间(自 1970 年 1 月 1 日起,以毫秒为单位)。这与表中的 creation_time 字段相同。
  • 类型:是 View (2) 还是常规表 (1)。

以下字段在 TABLE_QUERY()可用,因为它们是 __TABLES__ 的成员,但不是 __TABLES_SUMMARY__ 的成员。它们保留在这里是出于历史兴趣并部分记录 __TABLES__ 元表:

  • last_modified_time:表更新(元数据或表内容)的时间,以毫秒为单位,自 1970 年 1 月 1 日起(UTC)。请注意,如果您使用 tabledata.insertAll() 将记录流式传输到表中,则这可能会过时几分钟。
  • row_count:表中的行数。
  • size_bytes:表的总大小(以字节为单位)。

关于sql - BigQuery 检查表是否存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42859614/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com