google-cloud-platform - Flink PubsubIO 错误“Cannot nackAll on persisting checkpoint”
问题描述
我正在尝试使用在 flink runner 上运行的 apache Beam java 代码从 pubsub 读取数据并将其写入 gcs 存储桶。我的管道如下所示:
p.apply("Read PubSub Messages", PubsubIO.readStrings().fromTopic(options.getInputFile()))
.apply(Window.into(FixedWindows.of(Duration.standardMinutes(options.getWindowSize()))))
.apply("Write Files to GCS", new WriteOneFilePerWindow(options.getOutput(), numShards));
我正在使用以下 maven 命令运行此管道:
mvn exec:java -Dexec.mainClass=org.apache.beam.examples.PubsubToGcs -Pflink-runner -Dexec.args="--runner=FlinkRunner --filesToStage=target/Pubsubtogcs.jar --project=gcp_project_name"
并且 mvn 命令失败并出现以下错误:
Caused by: java.lang.IllegalStateException: Cannot nackAll on persisting checkpoint
如果我从 gcs 而不是 pubsub 读取,则管道运行成功。所以这个问题基本上与 pubsub io 操作有关。
有人可以帮忙解决这个问题的原因吗?
解决方案
推荐阅读
- puppeteer-sharp - 无法读取 document.cookie 客户端
- java - JSF / CDI 错误:WELD-001408:带有限定符 @Default 的字符串类型的依赖关系不满足
- php - Laravel - 未找到函数请求
- c - 在 C 中创建函数指针结构时从未完成的类型错误
- python-2.7 - 如何使用 matplotlib 在颜色栏中显示所有间隔
- codenameone - 代号一 - 做一些改变方向的事情
- python - 使用 plotly 的甘特图
- sonarqube - 无法从 azure devops 连接到 sonarqube
- java - 尝试使用提供的代码读取 Excel 文件时出现 Class Not Found 错误
- regex - NGINX - 到locations.conf的正则表达式不起作用