Флинк-фильтр перед разделом - PullRequest
0 голосов
/ 08 мая 2020

Apache Flink использует модель отложенной обработки в стиле DAG, аналогичную Apache Spark (поправьте меня, если я ошибаюсь). При этом, если я использую следующий код

DataStream<Element> data = ...;
DataStream<Element> res = data.filter(...).keyBy(...).timeWindow(...).apply(...);

.keyBy() преобразует DataStream в KeyedStream и распределяет его среди рабочих узлов Flink.

Мой вопрос в том, как будет мигать ручка filter здесь? Будет ли фильтр применяться к входящему DataStream перед разделением / распределением потока, и DataStream будет создан только из Element, которые соответствуют критериям фильтра?

Ответы [ 2 ]

1 голос
/ 08 мая 2020

Будет ли фильтр применяться к входящему потоку данных перед разделением / распределением потока, и поток данных будет создан только из элементов, которые соответствуют критериям фильтра?

Да, верно. Единственное, что я могу сказать иначе, - это пояснить, что исходный поток data обычно уже будет распределяться (параллельно) из источника. Фильтрация будет применяться параллельно к нескольким задачам, после чего keyBy будет перераспределять / перераспределять поток между рабочими. работа.

0 голосов
/ 08 мая 2020

Насколько я понимаю, filter применяется перед keyBy. Как вы сказали, это DAG (D == Directed). Вы видите какие-либо индикаторы, которые говорят вам, что это не так?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...