数据流管道 - “处理卡在步骤 <STEP_NAME> 至少 <TIME> 没有输出或完成状态完成......”
Dataflow Pipeline - “Processing stuck in step <STEP_NAME> for at least <TIME> without outputting or completing in state finish…”
由于不允许我在另一个人有相同问题的同一个线程中提出我的问题(但不使用模板),我正在创建这个新线程。
问题:我正在从 gcp 中的模板创建数据流作业,以将数据从 pub/sub 提取到 BQ。这在作业执行之前工作正常。作业获得 "stuck" 并且不向 BQ 写入任何内容。
我不能做这么多,因为我无法在模板中选择光束版本。这是错误:
Processing stuck in step WriteSuccessfulRecords/StreamingInserts/StreamingWriteTables/StreamingWrite for at least 01h00m00s without outputting or completing in state finish
at sun.misc.Unsafe.park(Native Method)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
at java.util.concurrent.FutureTask.awaitDone(FutureTask.java:429)
at java.util.concurrent.FutureTask.get(FutureTask.java:191)
at org.apache.beam.sdk.io.gcp.bigquery.BigQueryServicesImpl$DatasetServiceImpl.insertAll(BigQueryServicesImpl.java:803)
at org.apache.beam.sdk.io.gcp.bigquery.BigQueryServicesImpl$DatasetServiceImpl.insertAll(BigQueryServicesImpl.java:867)
at org.apache.beam.sdk.io.gcp.bigquery.StreamingWriteFn.flushRows(StreamingWriteFn.java:140)
at org.apache.beam.sdk.io.gcp.bigquery.StreamingWriteFn.finishBundle(StreamingWriteFn.java:112)
at org.apache.beam.sdk.io.gcp.bigquery.StreamingWriteFn$DoFnInvoker.invokeFinishBundle(Unknown Source)
有什么想法可以让它发挥作用吗?
我之前遇到过同样的问题。问题是我使用了 NestedValueProviders 来评估 Pub/Sub topic/subscription 而这在模板化管道的情况下不受支持。
问题来自步骤 WriteSuccessfulRecords/StreamingInserts/StreamingWriteTables/StreamingWrite,这表明写入数据时出现问题。
您的错误可以通过(使用 Pub/Sub BigQuery 订阅或 Pub/Sub BigQuery 主题)复制:
- 正在使用不存在的 table 配置模板。
- 开始
具有正确 table 的模板,并在作业执行期间将其删除。
在这两种情况下,都会出现卡住消息,因为正在从 Pubsub 读取数据,但它正在等待 table 可用性来插入数据。该错误每 5 分钟报告一次,并在创建 table 时得到解决。
要验证模板中配置的 table,请参阅数据流中 PipelineOptions 中的 属性 outputTableSpec UI。
我遇到了同样的错误,原因是我在没有指定模式的情况下创建了一个空的 BigQuery table。在通过 Dataflow 加载数据之前,请确保使用架构创建 BQ table。
由于不允许我在另一个人有相同问题的同一个线程中提出我的问题(但不使用模板),我正在创建这个新线程。
问题:我正在从 gcp 中的模板创建数据流作业,以将数据从 pub/sub 提取到 BQ。这在作业执行之前工作正常。作业获得 "stuck" 并且不向 BQ 写入任何内容。
我不能做这么多,因为我无法在模板中选择光束版本。这是错误:
Processing stuck in step WriteSuccessfulRecords/StreamingInserts/StreamingWriteTables/StreamingWrite for at least 01h00m00s without outputting or completing in state finish
at sun.misc.Unsafe.park(Native Method)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
at java.util.concurrent.FutureTask.awaitDone(FutureTask.java:429)
at java.util.concurrent.FutureTask.get(FutureTask.java:191)
at org.apache.beam.sdk.io.gcp.bigquery.BigQueryServicesImpl$DatasetServiceImpl.insertAll(BigQueryServicesImpl.java:803)
at org.apache.beam.sdk.io.gcp.bigquery.BigQueryServicesImpl$DatasetServiceImpl.insertAll(BigQueryServicesImpl.java:867)
at org.apache.beam.sdk.io.gcp.bigquery.StreamingWriteFn.flushRows(StreamingWriteFn.java:140)
at org.apache.beam.sdk.io.gcp.bigquery.StreamingWriteFn.finishBundle(StreamingWriteFn.java:112)
at org.apache.beam.sdk.io.gcp.bigquery.StreamingWriteFn$DoFnInvoker.invokeFinishBundle(Unknown Source)
有什么想法可以让它发挥作用吗?
我之前遇到过同样的问题。问题是我使用了 NestedValueProviders 来评估 Pub/Sub topic/subscription 而这在模板化管道的情况下不受支持。
问题来自步骤 WriteSuccessfulRecords/StreamingInserts/StreamingWriteTables/StreamingWrite,这表明写入数据时出现问题。
您的错误可以通过(使用 Pub/Sub BigQuery 订阅或 Pub/Sub BigQuery 主题)复制:
- 正在使用不存在的 table 配置模板。
- 开始 具有正确 table 的模板,并在作业执行期间将其删除。
在这两种情况下,都会出现卡住消息,因为正在从 Pubsub 读取数据,但它正在等待 table 可用性来插入数据。该错误每 5 分钟报告一次,并在创建 table 时得到解决。
要验证模板中配置的 table,请参阅数据流中 PipelineOptions 中的 属性 outputTableSpec UI。
我遇到了同样的错误,原因是我在没有指定模式的情况下创建了一个空的 BigQuery table。在通过 Dataflow 加载数据之前,请确保使用架构创建 BQ table。