【问题标题】:Unable to catch exceptions when writing to BigQuery using Google dataflow使用 Google 数据流写入 BigQuery 时无法捕获异常
【发布时间】:2016-12-28 06:49:15
【问题描述】:

我正在尝试使用谷歌数据流写入 BigQuery。但是数据已损坏,因为我试图在 BigQuery 中的表的列中写入的数据与该列的数据类型不匹配。因此,作业日志会显示如下错误:

项目中的 BigQuery 作业“dataflow_job_6154554826811450962-B” “analytics-repo-dev”以错误结束:errorResult:JSON 表遇到太多错误,放弃。行数:1951;错误:1., error: JSON表遇到太多错误,放弃。行数:1951; 错误:1.,错误:从位置开始的行中的 JSON 解析错误 文件中的 32470424514: gs://abhishek_bucket/staging_bucket/6154554826811451567/dax-tmp-2016-08-21_08_10_40-11073983896195810394-S122-1-e7a57fb7a3ac697f/-shard-00000-of-00001-try- 无法解析 '20-259228628。 ' 作为时间戳。要求的格式是 YYYY-MM-DD HH:MM[:SS[.SSSSSS]] 字段:Ts;值:20-259228628。

问题是这些是“错误”而不是“异常”。因此,一旦 Dataflow 出现这些错误,整个数据流作业就会停止。所以我需要一种机制来“抓住”它们。如果这些消息是“异常”,我会单独处理它们,并且工作不会完全失败。

那么,当我尝试将错误数据写入 Google Dataflow 中的 BigQUery 时,有没有办法获得引发的实际异常?

【问题讨论】:

    标签: google-bigquery google-cloud-dataflow


    【解决方案1】:

    这是带有流式 BigQueryIO 接收器的 known issue;不幸的是,除了在 BigQueryIO.Write 之前在您自己的 DoFn 中进行验证之外,没有一个好的解决方法。这样做将允许您删除、修复或输出任何无效记录到另一个接收器。

    【讨论】:

    • 由于该问题已闲置很长时间,是否有修复此错误的预期日期?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-07-21
    • 2021-09-20
    • 2022-01-21
    • 2020-12-02
    • 2017-12-30
    • 2010-10-29
    • 1970-01-01
    相关资源
    最近更新 更多