如何检查 BigQuery 表的状态

问题描述 投票:0回答:1

我有一个写入 BigQuery 表的数据流作业。每个数据流作业都会创建一个新表。

我意识到对 BigQuery 表的写入操作是异步的,即在数据流作业完成后,对 BigQuery 表的写入操作可能会持续几分钟。

现在我希望能够查询新创建的表的状态并获取其状态,例如:“正在写入”和“写入已完成”。我们可以通过 GCP Java 客户端库来做到这一点吗?

如果没有,我有一个替代的想法。我知道在数据流执行期间将写入表的行数。我可以将表中的行数与该数字进行比较,看看它们是否匹配。如果是,则写操作完成。但是,我不知道可以将数据流执行期间生成的动态生成的行计数放在哪里。

请帮忙。

java google-cloud-platform google-bigquery google-cloud-dataflow apache-beam
1个回答
0
投票

也许您可以使用 BigQuery JOBS 视图? 您必须存储查询的 job_id,然后在 JOBS 视图中搜索它,如下所示:

SELECT
*
FROM
  `region-us`.INFORMATION_SCHEMA.JOBS
  WHERE job_id = "JOB_ID"

之后,您可以使用

job_stages.status
STRUCT 获得有关查询状态的信息。查询完成后,会标记为
COMPLETED

您还可以在 Cloud Logging 中访问此类信息

© www.soinside.com 2019 - 2024. All rights reserved.