Более 100 000 организаций используют Apache Kafka для потоковой передачи данных. Однако есть проблема: в широкой экосистеме отсутствует зрелая клиентская среда и управляемый облачный сервис для инженеров данных Python. Quix Streams — новая технология на рынке, пытающаяся закрыть этот пробел. В этом сообщении блога обсуждается эта библиотека Python, ее место в экосистеме Kafka и когда ее использовать вместо Apache Flink или других заменителей на основе Python или SQL.

(Первоначально опубликовано в блоге Кая Вэнера: Quix Streams — потоковая обработка с помощью Kafka и Python… Присоединяйтесь к сообществу потоковой передачи данных и будьте в курсе новых сообщений в блоге, подписавшись на мою рассылку)

Почему Python и Apache Kafka вместе?

Python — это язык программирования общего назначения высокого уровня. Он имеет множество вариантов использования для написания сценариев и разработки. Но есть одна фундаментальная причина его успеха:Инженеры по обработке и анализу данных используют Python. Точка.

Да, существует R как еще один отличный язык программирования для статистических вычислений. И множество платформ визуального кодирования с низким кодом или без него для машинного обучения (ML).

SQL широко распространен среди инженеров и специалистов по данным, но это декларативный формализм, который недостаточно выразителен, чтобы указать всю необходимую бизнес-логику. Когда требуется преобразование данных или нетривиальная обработка, инженеры по обработке и анализу данных используют Python.

Следовательно: инженеры данных и специалисты по обработке данных используют Python. Если вы не дадите им Python, вы обнаружите либо теневые ИТ, либо скрипты Python, встроенные в блок кода инструмента с низким кодом.

Apache Kafka является фактическим стандартом потоковой передачи данных. Он сочетает в себе обмен сообщениями в реальном времени, хранилище для истинного разделения и возможности повторного воспроизведения исторических данных, интеграцию данных с помощью коннекторов и потоковую обработку для корреляции данных. Все на одной платформе. Масштаб для транзакций и аналитики.

Python и Apache Kafka для инженерии данных и машинного обучения

В 2017 году я написал сообщение в блоге на тему Как создать и развернуть масштабируемое машинное обучение в производстве с помощью Apache Kafka. Статья по-прежнему точна и исследует, как потоковая передача данных и искусственный интеллект/ML