bigquery表的最后访问日期

有什么方法可以获取BigQuery中表格的“上次访问”日期吗?我发现了同样的问题 Get the Last Access date for all BigQuery tables in a BigQuery Project

但是无法发表评论或回复,因此我再次询问。

从哪里获得此表? ->从fh-bigquery.audit.cloudaudit_googleapis_com_data_access_201811*

我的bQ项目ID为'test-247020',而我的数据集名称为BabyName。

我如何进行这项工作?

非常感谢您的帮助。


更新我正在使用的查询:

 WITH tables AS (
  SELECT FORMAT("%s.%s.%s",table.projectId,table.datasetId,table.tableId) table,MAX(timestamp) last_access
  FROM (
    SELECT timestamp,protopayload_auditlog.servicedata_v1_bigquery.jobCompletedEvent.job.jobStatistics.referencedTables  
    FROM `test-247020.BabyName.cloudaudit_googleapis_com_data_access`
  ),UNnesT(referencedTables) table
  GROUP BY 1
)

SELECT * 
FROM tables
weiby 回答:bigquery表的最后访问日期

您需要先导出日志from Logging to BigQuery

,

Google Cloud Platform提供了多种方法来检索有关BigQuery作业和数据集/表的信息。

1-BigQuery网络用户界面:

BigQuery web UI的左侧面板上,可以找到“查询历史记录”,其中显示了与针对不同数据集测试的查询相关的执行详细信息。如果按日期对作业进行排序,则最后一个将显示在顶部。此外,“项目历史记录”选项卡将先前的信息扩展到整个项目。这样,就有可能看到特定用户执行的查询。

2-Stackdriver记录:

Stackdriver Logging在检查来自其他Google Cloud Platform产品的日志时非常有用。 使用以下Advanced filter,可以检索output logs corresponding to queries executed in BigQuery

notifyDataSetChanged()

通过选择“过去一小时”和“跳转到现在”选项,上次访问的数据将显示在日志面板的底部。

也可以将export的特定Stackdriver将给定数据集的配置记录到BigQuery中。这将创建一个新表,其中包含针对所选数据集执行的查询的日志信息。每次更新此类导出时,都会将新日志加载到日志表中。

3-云外壳:

获取最后访问的表的信息的另一种方法是利用command中的resource.type="bigquery_project" protoPayload.methodName="google.cloud.bigquery.v2.JobService.InsertJob" Cloud Shell。以下bash脚本将以JSON格式检索与上一次查询相关的所有数据。

bq

可以在“ referencedTables”字段中找到相应的数据集名称,projectID和表名称:

#!/bin/bash

# Get the jobID of the last executed query
LAST_JOB_ID=$(bq ls -j -a | grep query | head -1 | awk '{print $1}')

echo Query $LAST_JOB_ID job info
# retrieving the job_ID info in json format
bq show --format=prettyjson -j $LAST_JOB_ID
本文链接:https://www.f2er.com/3166775.html

大家都在问