Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/315.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
<img src="//i.stack.imgur.com/RUiNP.png" height="16" width="18" alt="" class="sponsor tag img">elasticsearch 单个flink管道的多个elasticsearch水槽_<img Src="//i.stack.imgur.com/RUiNP.png" Height="16" Width="18" Alt="" Class="sponsor Tag Img">elasticsearch_Apache Flink_Flink Streaming - Fatal编程技术网 elasticsearch 单个flink管道的多个elasticsearch水槽,elasticsearch,apache-flink,flink-streaming,elasticsearch,Apache Flink,Flink Streaming" /> elasticsearch 单个flink管道的多个elasticsearch水槽,elasticsearch,apache-flink,flink-streaming,elasticsearch,Apache Flink,Flink Streaming" />

elasticsearch 单个flink管道的多个elasticsearch水槽

elasticsearch 单个flink管道的多个elasticsearch水槽,elasticsearch,apache-flink,flink-streaming,elasticsearch,Apache Flink,Flink Streaming,我的要求是将数据发送到不同的ES接收器(基于数据)。例如:如果数据包含特定信息,则将其发送到sink1,否则将其发送到sink2等(基本上是根据数据动态发送到任何一个接收器)。我还想分别为ES sink1、ES sink2、ES sink3等设置并行性 -> Es sink1 (parallelism 4) Kafka -> Map(Transformations) -> ES sink2 (paralle

我的要求是将数据发送到不同的ES接收器(基于数据)。例如:如果数据包含特定信息,则将其发送到sink1,否则将其发送到sink2等(基本上是根据数据动态发送到任何一个接收器)。我还想分别为ES sink1、ES sink2、ES sink3等设置并行性

                                ->  Es sink1 (parallelism 4)
Kafka -> Map(Transformations)   ->  ES sink2 (parallelism 2)
                                ->  Es sink3 (parallelism 2)
在flink中有没有简单的方法来实现上述目标

我的解决方案:(但不满意)

我可以想出一个解决方案,但是有一些中间的卡夫卡主题,我会写这些主题(主题1、主题2、主题3),然后分别为Essink1、Essink2和ESsink3编写管道。我想避免写这些中间卡夫卡主题

kafka -> Map(Transformations) -> Kafka topics (Insert into topic1,topic2,topic3 based on the data)

Kafka topic1 -> Essink1(parallelism 4)

Kafka topic2 -> Essink2(parallelism 2)

Kafka topic3 -> Essink3(parallelism 2)

您可以使用带有侧输出[2]的ProcessFunction[1]将流分为n路,然后将每个侧输出流连接到相应的接收器。然后在每个接收器上调用
setParallelism()
[3]

[1]
[2]

[3]

您可以使用带有侧输出[2]的ProcessFunction[1]将流分为n路,然后将每侧输出流连接到相应的接收器。然后在每个接收器上调用
setParallelism()
[3]

[1]
[2]
[3]