在其他程序中嵌入flink意味着什么?
在这里的链接中-https://ci.apache.org/projects/flink/flink-docs-release-1.10/dev/api_concepts.html#basic-api概念在第二段中说flink可以嵌入到其他程序中。
我想知道更多关于这个。比如如何实现。一个示例程序将非常有用。使用上述方法是否可以实现以下目的?
我们可以作为单独的演员运行flink程序吗?
我们能在两个flink程序之间传送数据吗?
理由:我提出以上两个问题是因为我的要求如下
我有一些基于配置文件的flink作业/程序,我只需要某些flink作业/程序来处理输入数据,并且根据配置文件不断变化。因此,flink jobs./programs(或那些jobs中的代码)需要始终可用,它们需要传递数据和通信。
请分享你的见解。
1条答案
按热度按时间2hh7jdfx1#
运行嵌入到其他程序中的flink是指flink的本地执行模式。本地执行模式在jvm中运行flink程序。这意味着这项工作不会被分散执行。
目前不可能开箱即用的是让flink jobs控制其他flink jobs。但是,可以构建一个flink应用程序,将其作为输入任务描述并执行它们。rbea就是这样一个flink应用程序的例子。概念上的区别在于,您没有多个flink作业,只有一个将程序作为输入记录进行处理的作业。
或者,您可以看看有状态函数,它是一个构建在apacheflink之上的虚拟actor框架。其思想是提供一个框架,用于构建具有强大一致性保证的分布式有状态应用程序。使用有状态函数,您还可以构建一个flink应用程序来处理可以表示一种计算形式的事件。