当我重命名Apache Apex应用程序时,Kafka运算符语义会改变吗?



我假设我们重命名应用程序的那一刻,Kafka 运算符的语义将完全改变,并且最终可能通过应用程序代码从"initialOffset"读取是否正确?

如何维护"应用程序名称"定义的语义?

是每次部署应用程序代码都会生成一个新应用程序,还是只是使用 @ApplicationAnnotation(name=") 实例来定义此含义?

始终可以使用 -originalAppId 启动应用程序,运算符应从原始应用程序停止的位置继续。如果使用 kafka 0.9 运算符并启动具有相同名称的应用程序,则可以将 initialOffset 设置为"application_or_latest"或"application_or_earliest",以便运算符应从上次运行中处理的偏移量继续。 不同之处在于,如果指定 -originalAppId,则偏移量从检查点恢复,而另一个偏移量存储在 kafka 本身中。

您可以使用 -originalAppId 参数从其以前的状态启动应用程序,并提供其上一次运行的检查点状态中的 yarn 应用程序 ID,它应应用于 dag 中的所有运算符,包括 kafka 输入运算符。您还可以使用属性 dt.attr.APPLICATION_NAME 为应用程序提供新名称。

例如: launch pi-demo-3.4.0-incubating-SNAPSHOT.apa -originalAppId application_1459879799578_8727 -Ddt.attr.APPLICATION_NAME="pidemo v201"

相关内容

  • 没有找到相关文章

最新更新