【问题标题】:Are Bigquery job logs stored?是否存储 Bigquery 作业日志?
【发布时间】:2016-04-07 23:56:21
【问题描述】:

使用日志服务https://console.cloud.google.com/logs?project=xxxx&service=bigquery.googleapis.com 我无法找到与 UI 或 bq 命令行作业相关的日志。

[编辑]

根据@DoIT International bq ls -j 的建议,显示作业列表,但没有关于失败的日志

【问题讨论】:

    标签: google-bigquery google-cloud-platform


    【解决方案1】:

    使用以下命令列出查询作业的历史记录:

    bq ls -j
    

    bq 是 Google CloudSDK 的一部分,可在此处获得:https://cloud.google.com/sdk/

    【讨论】:

    • 是的,它会打印日志,但我需要查看失败的原因。我加载了一个 2500 万行的文件,作业失败,没有打印导致崩溃的行。
    • @AliSAIDOMAR 尝试以ls --all -j 运行它以显示所有作业,包括由其他用户和服务帐户运行的作业。您需要在项目中拥有owner 权限才能执行此操作。
    • 要查看特定作业的错误详细信息,请使用:bq show -j <jobid>,如果您想查看原始响应,请使用:bq --format=prettyjson show -j <jobid>
    • 我知道这是一个老话题,但我尝试通过首先列出所有作业来查看错误详细信息,获取最后一个失败的作业 ID,然后在 bq show -j bquxjob_3e54c2de_176da3953ff 中使用它,但无论我选择什么作业 ID,我总是得到一个错误BigQuery error in show operation: Not found: Job vf-de-ca-nonlive:bquxjob_3e54c2de_176da3953ff
    • @AleksanderLipka 您需要在前面加上您的项目 ID 和地区,例如 bq show -j my_project_id:asia-east1.bquxjob_3e54c2de_176da3953ff cloud.google.com/bigquery/docs/…
    【解决方案2】:

    您可以使用Jobs: list API收集职位信息并上传到GBQ
    由于它位于 GBQ 中 - 您可以使用 BigQuery 的强大功能以任何方式对其进行分析
    您可以展平结果或使用原始结果 - 我建议使用原始结果,因为在加载到 GBQ 之前没有任何转换(您只需上传从 API 获得的任何内容)就不会那么令人头疼了。当然,所有这些都在您仍然需要编写的简单应用程序/脚本中

    注意:确保使用full 值作为projection 参数

    有关失败的信息应如下所示

      "errorResult": {
        "reason": string,
        "location": string,
        "debugInfo": string,
        "message": string
      },
    

    https://cloud.google.com/bigquery/docs/reference/v2/jobs/list#response查看更多详情

    【讨论】:

    • 谢谢 :) 事实上,通过这项服务,我可以获得工作信息,但在我的情况下,“CSV 表遇到太多错误,放弃。行:138130 错误:21”这不足以让我诊断错误的真正原因。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多