BigQuery命令行 - 列出使用指定时间范围运行的所有作业

时间:2016-07-05 19:38:58

标签: linux google-bigquery jobs

我知道,为了获取曾在Google帐户中运行的所有作业的列表,您需要运行以下命令:

Command 1: bq ls --format json --jobs --all

为了仅获得n个结果,您可以添加另一个名为max_results的参数

Command 2: bq ls --format json --jobs --all --max_results

我想获得两个日期之间的工作数量的情况怎么样?我应该在第一个命令中添加哪些参数?查看文档,但找不到多少。

提前致谢!

1 个答案:

答案 0 :(得分:0)

获取有关特定时间作业的信息的最佳方法是启用Google Cloud audit logging,将export设置为bigquery,然后对日志运行查询。

查询看起来像:

SELECT metadata.timestamp as job_complete_time,
  protoPayload.serviceData.jobCompletedEvent.job.jobName.jobId 
    AS job_id,
  protoPayload.serviceData.jobCompletedEvent.job.jobConfiguration.query.query 
    AS query,
FROM TABLE_DATE_RANGE(
    [audit_logs.cloudaudit_googleapis_com_data_access_],
    DATE_ADD(CURRENT_TIMESTAMP(), -14, "DAY"), 
    CURRENT_TIMESTAMP())
WHERE metadata.serviceName = 'bigquery.googleapis.com'
    AND protoPayload.serviceData.jobCompletedEvent.job.jobConfiguration.query.query 
    is not null
LIMIT 1000