Joe*_*tto 6 sql google-cloud-storage google-bigquery google-cloud-platform
我正在使用C#根据bigquery api表端点的响应动态构造查询.我正在尝试计算有效的用户,但只有我选择了每个表.*.我的问题很简单,有没有办法检查BigQuery SQL中是否存在表格?
有称为__TABLES__和的metatables__TABLES_SUMMARY__
您可以运行如下查询:
SELECT size_bytes FROM <dataset>.__TABLES__ WHERE table_id='mytablename'
Run Code Online (Sandbox Code Playgroud)
该__TABLES__查询的部分可能看起来不熟悉.__TABLES_SUMMARY__是一个元表,包含有关数据集中表的信息.您可以自己使用此元表.例如,查询SELECT * FROM publicdata:samples.__TABLES_SUMMARY__将返回有关publicdata:samples数据集中表的元数据.你也可以SELECT * FROM publicdata:samples.__TABLES__
可用字段:
__TABLES_SUMMARY__元表的字段(在TABLE_QUERY查询中都可用)包括:
table_id:表的名称.creation_time:表格创建后的时间(自UTC时间1/1/1970起以毫秒为单位).这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'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4881 次 |
| 最近记录: |