如何使用 API 在 BigQuery 中获取临时表的名称

Posted

技术标签:

【中文标题】如何使用 API 在 BigQuery 中获取临时表的名称【英文标题】:How to get name of a temporary table in BigQuery using API 【发布时间】:2015-01-26 09:23:22 【问题描述】:

我正在使用 BigQuery.Jobs.query 运行查询。我知道这会创建一个临时表。我想获取该表的名称以在下一个查询中使用它。

这适用于 BigQuery 网页界面,但我找不到使用 API 的方法。

【问题讨论】:

【参考方案1】:

您需要使用Jobs.get端点,并且一旦state=DONE,如果成功,此方法在响应正文中返回一个Jobs资源。

['configuration']['query'] 下有 project_id、dataset_id 和 table_id。如果您运行提取,则某些值低于 ['configuration']['extract']

【讨论】:

具体:cloud.google.com/bigquery/docs/reference/v2/…【参考方案2】:

您的工作应该在完成后返回一个对象。如果您使用的是 Python,您将在以下位置找到该表:

query_job._properties["configuration"]["query"]["destinationTable"]

它应该具有以下架构:

"projectId": "YOUR_PROJECT", "datasetId": "YOUR_DATASET", "tableId": "TEMP_ID"

要按名称访问表,您应该使用以下名称:

"projectId.datasetId.tableId"

【讨论】:

以上是关于如何使用 API 在 BigQuery 中获取临时表的名称的主要内容,如果未能解决你的问题,请参考以下文章

如何从 bigquery nodejs api 获取整数?

如何使用 Google Bigquery 的 Java API 以 Json 形式获取查询结果

BigQuery Storage API 无法读取由有序 (ORDER BY) 查询创建的临时表

在c#中使用bigquery API时获取sql查询的列名

使用 python 和 BigQuery API 获取 BigQuery 数据集中的表列表

如何从 BigQuery API 获取列名?