Flink 跨作业共享对象
Flink shared object across jobs
我在 Flink 中有一个流作业列表 运行,每个作业都有不同的并行度。
作业处理文档。现在我想为每个作业上次处理的文档制作快照。我可以使用 Redis 来存储文档 ID 和 Kafka 主题。但我不想为每个作业的并行度总数打开 Redis 连接(例如 300 个连接用于 30 个作业,每个作业有 10 个并行度)
我的问题是:
是不是我把redis放在下沉部分而不是RichFlatMapFunction比较好?是否只需要为 30 个作业打开 30 个连接,而不考虑并行度?
是否有更好的方法来使写入 Redis 的对象在作业之间共享,从而只需要一个连接?
使用处理文档 ID/time 创建一个副输出,并将其 运行 到并行度为 1 的运算符中。将此数据存储在任何有意义的地方(Redis 等)
我在 Flink 中有一个流作业列表 运行,每个作业都有不同的并行度。
作业处理文档。现在我想为每个作业上次处理的文档制作快照。我可以使用 Redis 来存储文档 ID 和 Kafka 主题。但我不想为每个作业的并行度总数打开 Redis 连接(例如 300 个连接用于 30 个作业,每个作业有 10 个并行度)
我的问题是:
是不是我把redis放在下沉部分而不是RichFlatMapFunction比较好?是否只需要为 30 个作业打开 30 个连接,而不考虑并行度?
是否有更好的方法来使写入 Redis 的对象在作业之间共享,从而只需要一个连接?
使用处理文档 ID/time 创建一个副输出,并将其 运行 到并行度为 1 的运算符中。将此数据存储在任何有意义的地方(Redis 等)