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).
См. также
Предыдущая
Следующая