当前位置: 首页 > 知识库问答 >
问题:

Apache Beam Kinesio Java处理管道-应用程序状态,错误处理

东门令
2023-03-14

我正在开发我的第一个Apache波束管道,以处理来自AWS Kinesis的数据流。我熟悉Kafka如何处理消费者偏移/状态的概念,并在实施apacheStorm/火花处理方面拥有经验。

通过留档后,我成功地使用KinesiIO创建了一个工作波束管道JavaSDK监听AWS Kinesis数据流以转换和打印消息。但是,想知道任何关于如何在apache波束w. r. t中处理以下区域的参考实现或指针KinesiIO-

>

  • 消费者应用程序在Kinesis streams中是如何唯一标识的(类似于Kafka中的消费者组Id)-我是否可以说它基于apache beam的应用程序名称,并且任何使用KCL的消费者都可以在DynamoDB中跟踪其状态;总是这样吗

    如何强制消费者开始处理数据流w.r.t.其碎片,即在消费者重新启动或处理过程中出现任何错误异常的情况下(类似于偏移管理w.r.t.Kakfa中的每个消费者组ID)。InitialPositionInStream。TRIM\u HORIZON总是从最早的可用数据流开始,即使我在处理了来自Kinesis流的少量数据后重新启动管道。

    ack如何在Kinesis数据流中工作,即消费者如何在进一步增加碎片中的序列/位置之前,确认/更新使用getRecords()提取的数据流处理的检查点?是否有任何方法可以控制消费者应用程序在何时成功确认消息以保存应用程序状态时的这些行为

    处理数据流时业务异常(在管道的任何阶段)对从Kinesis流中提取后续数据的影响,即应用程序是否继续提取数据或停止流程。

  • 共有1个答案

    柯良骏
    2023-03-14

    >

    您是否为此尝试了ShardIteratorType#LATEST?

    在这里看到我的答案:https://stackoverflow.com/a/62349838/10687325

    如果是未知异常,则管道将停止。

     类似资料:
    • 我正在尝试使用动态ChannelHandler管道实现Netty 4. X。正如人们建议的“出于性能考虑,在运行时使用调用而不是管道修改”,我实现了一个Server、一个RouterInoundHander和一个Client来测试这个理论。但它不起作用。这是我的代码 计算机网络服务器 RouterInboundHandler 和客户 如代码所示,在Channel的连接初始化阶段创建了Channel

    • 问题内容: 与其他框架相比,Node.js + Express.js应用程序中的错误报告/处理似乎有所不同。我理解它的工作原理是否正确? A) 通过接收错误作为回调函数的参数来 检测 错误。例如: B) 通过调用next(err) 报告 MIDDLEWARE中的​​错误。例: C) 通过抛出错误来 报告 路由中的错误。例: d) 手柄 通过配置通过app.error自己的错误处理的错误()或使用通

    • 如何在SpringMVC中实现自定义http错误处理。 例如:我有一个urlhttp://localhost:8080/demo/canvas 它显示我的画布页面,但如果用户错过了网址并键入http://localhost:8080/demo/canva 它显示了Tomcat呈现的HTTP状态404。我希望它是自定义jsp页面。

    • 问题内容: 反正有一起禁用laravel错误处理程序吗? 我想简单的显示 标准的PHP错误 , 没有 了错误。 问题答案: 并非没有主要违反框架原理的问题(如果您仍然感兴趣,我将在下面告诉您如何做)。 有一些事情使这很难完成。取消默认错误和异常处理程序很容易 但这给您带来两个主要障碍。 第一个是Laravel在其引导过程中注册了一个关闭处理程序,该关闭功能将查找最后一个错误,如果是致命错误,请手动

    • 作为我正在构建的应用程序的一部分,我正在使用csv-parse读取和操作大型(约5.5GB,800万行)csv文件。我让这个过程运行得相对平稳,但我被困在一个项目上——捕捉由不一致的列数引发的错误。 我之所以使用管道函数,是因为它与应用程序的其余部分配合得很好,但我的问题是,如何将解析器抛出的错误重定向到日志并允许该过程继续? 我认识到,我可以使用选项跳过列数不一致的记录,该选项几乎就足够了。问题

    • 通过对错误类型实现 Display 和 From,我们能够利用上绝大部分标准库错误处理工具。然而,我们遗漏了一个功能:轻松 Box 我们错误类型的能力。 标准库会自动通过 Form 将任意实现了 Error trait 的类型转换成 trait 对象 Box<Error> 的类型(原文:The std library automatically converts any type that imp