【问题标题】:Loading statistics(Logs) of all BigQuery load jobs in my project to BigQuery table将我项目中所有 BigQuery 加载作业的统计信息(日志)加载到 BigQuery 表
【发布时间】:2017-12-19 14:08:48
【问题描述】:

Apache Beam (Google Cloud Dataflow 2.0) 作业结束后,我们在日志bq show -j --format=prettyjson --project_id=<My_Project_Id> 00005d2469488547749b5129ce3_0ca7fde2f9d59ad7182953e94de8aa83_00001-0 的末尾得到一个现成的命令,可以从 Google Cloud SDK 命令提示符运行。

基本上它会显示所有信息,如作业开始时间、结束时间、不良记录数、插入记录数等。

我可以在 Cloud SDK 控制台上看到这些信息,但是这些信息存储在哪里? 我检查了堆栈驱动程序日志,它有前一天的数据,甚至没有显示在 Cloud SDK 控制台上的完整信息。

如果我想导出这些信息并加载到 BigQuery 中,我可以从哪里获得。

更新:这是可能的,当我在 Stackdriver 日志查看器中添加过滤器 resource.type="bigquery_resource" 时,我找到了信息,但它显示像 CreateTime、StartTime 和 EndTime 这样的时间戳信息为 1970-01-01T00:00:00Z

【问题讨论】:

  • 你能澄清你的问题吗?这个命令是从哪里来的?谁将其发布到日志中?您是在谈论 Stackdriver 日志,还是主程序发出的常规调试日志,还是数据流作业页面上可见的数据流日志?您要将哪些信息导出到 bigquery?
  • 这个命令是从哪里来的? --> 我通过 Eclipse 运行 apache Beam 作业,并提到命令来自 Eclipse 的日志控制台。
  • 好的,我明白你指的是哪条日志消息。但是,我仍然不明白你的其余问题。您将哪些信息称为“这些信息”?
  • 我知道您指的是哪条日志消息 --> 我想将这些日志导出到 BigQuery。虽然我可以从 Stackdriver 导出它,但创建时间、开始时间和结束时间等时间戳显示“1970-01-01T00:00:00Z”,而不是实际日期和时间。
  • 对不起,我还是不明白你在问什么。管道会记录一条消息,其中包含“bq show -j ...”形式的命令,并且您想要一个 BigQuery 表,其中包含这些字符串形式的命令?或者您是否想要一个包含这些命令结果的 BigQuery 表 - 即一个包含项目中所有 Dataflow 管道启动的所有 BigQuery 加载作业的统计信息的 BigQuery 表?还是您项目中的所有 BigQuery 加载作业,期间? (不幸的是,我认为这些都不可能,但我还是想了解你的用例)

标签: google-bigquery google-cloud-dataflow apache-beam stackdriver google-cloud-stackdriver


【解决方案1】:

您可以将这些日志导出到谷歌云存储桶中。从堆栈驱动程序单击创建导出,然后创建接收器,提供接收器名称和接收器目标,这显然是存储桶路径。现在下次工作开始时,所有日志都会被导出,您可以进一步使用这些日志。

【讨论】:

  • 这部分正确,但请参阅更新以了解完整要求。抱歉编辑。
猜你喜欢
  • 2016-06-11
  • 1970-01-01
  • 1970-01-01
  • 2023-04-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-01-12
相关资源
最近更新 更多