我是 Apache Flink 的新手,想了解 DataStream 和 Table API 之间的用例。请帮助我了解何时选择 Table API 而不是 DataStream API。
根据我的理解,可以使用 Table API 完成的事情也可以使用 DataStream API 完成。两种 API 有何不同?
我开发了一个 Flink 作业并使用 Apache Flink 仪表板提交了我的作业。根据我的理解,当我提交作业时,我的 jar 应该在 Flink 服务器上可用。我试图找出我的罐子的路径,但无法。Flink 是否将这些 jar 文件保留在服务器上?如果有的话,我在哪里可以找到?有什么文档吗?请帮忙。谢谢!
根据我的理解,Flink 中运算符的示例有 Source 运算符、Transformation 运算符等。我对 Flink 中运算符的理解是否正确?
在算子状态中,Flink 是维护每个算子的状态(例如每个作业/任务的 map()、reduce() 等)还是维护一个完整作业/任务的状态?另外,如果我的作业以多个并行方式提交,每个槽是否都有自己的状态?
假设,我提交了两个带键流的作业,并且两个作业具有相同的键“颜色”,但两个作业完全不同。Flink 是否会维护两种不同的状态,或者为这两项工作维护一种状态。
我只是想了解何时在 Flink 中使用 CoProcessFunction 的用例。用一个例子来解释将帮助我更好地理解这个概念。
假设我有一个包含 3 个节点的 Flink 集群。一个节点用于作业管理器,另外 2 个节点用于任务管理器。每个任务管理器有 3 个任务槽。因此,当我提交并行度等于 2 的作业时,Flink 将分配两个任务槽。那么,我的问题是,Flink 将如何分配这些任务槽?
一些场景
Flink 是否为每个任务管理器分配一个任务槽?
两个任务槽是否有可能从同一个任务管理器分配?如果是,如果该特定节点由于某种原因关闭,我的作业将无法运行。在这种情况下如何避免停机?