[英]BigQuery check if table exists or not
我正在使用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
: creation_time
时的时间,自1970年1月1日UTC以来的毫秒数。 这与表上的creation_time
字段相同。 type
:是视图(2)还是常规表(1)。 TABLE_QUERY()
中没有以下字段,因为它们是__TABLES__
但不是__TABLES_SUMMARY__
成员。 他们留在这里是为了历史的兴趣,并部分记录__TABLES__
metatable:
last_modified_time
:表格更新后的时间(自1970年1月1日UTC以来的毫秒数)(元数据或表格内容)。 请注意,如果使用tabledata.insertAll()
将记录流式传输到表中,则可能需要几分钟的时间。 row_count
:表中的行数。 size_bytes
:表的总大小(以字节为单位)。 #standardSQL
SELECT COUNT(1) AS cnt
FROM `project.dataset.__TABLES_SUMMARY__`
WHERE table_id = 'mytable'
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.