Word Count в YTsaurus Flow (Python)

Простейший пример stateful-пайплайна на Python: подсчёт количества вхождений каждого слова с использованием внутреннего YSON-стейта.

Исходный код

Структура

Пайплайн состоит из одного transform-компьютейшена mapper, который читает слова из входного стрима и обновляет счётчик в стейте.

__main__.py

Точка входа: создание пайплайна и регистрация единственного компьютейшена.

{% code '/yt/yt/flow/examples/python/word_count/main.py' lang='python' lines='[BEGIN main]-[END main]' %}

word_count_mapper.py

RowFunction, использующая ctx.state() для работы с YSON-стейтом. Для каждого ключа сообщения хранится словарь с полями word и count.

Ключевые паттерны

  • Простейший stateful-пайплайн с одним компьютейшеном.
  • Внутренний YSON-стейт через ctx.state() с get_or_default / set.
  • Ключ стейта определяется group_by_schema из спеки (в данном случае -- по полю word).

См. также

Предыдущая
Следующая