小编典典

BigQuery检查表格是否存在

sql

我正在使用C#根据bigquery
api表端点的响应动态构建查询。我正在尝试计算有效的活动用户,但前提是我必须选择具有的每个表.*。我的问题确实很简单,有没有一种方法可以检查BigQuery
SQL中是否存在表?


阅读 42

收藏
2021-04-07

共1个答案

小编典典

有元表叫__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:创建表的时间,以自1/1/1970 UTC以来的毫秒数为单位。这creation_time与表上的字段相同。
  • type:无论是视图(2)还是常规表(1)。

以下字段 不可
用,TABLE_QUERY()因为它们是的成员,__TABLES__但不是的成员__TABLES_SUMMARY__。出于历史考虑,将它们保留在此处,并部分记录该__TABLES__元表:

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