Все потоки
Поиск
Написать публикацию
Обновить
12.56

Apache *

Свободный веб-сервер

Сначала показывать
Порог рейтинга
Уровень сложности

Как мы деплоим Apache Airflow для промышленного использования в Kubernetes

Уровень сложностиСредний
Время на прочтение16 мин
Количество просмотров6.1K

Что делает инженер, если DAG не выполняется? Проверяет Airflow 50 раз, а потом вспоминает, что забыл поставить @dag над функцией.

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

В этой статье мы рассмотрим, как использовать инструменты, такие как Sops и YAML-якоря, для упрощения управления конфиденциальными данными и улучшения читаемости конфигураций. А так же как обеспечить полную наблюдаемость инсталляции Apache Airflow.

Читать далее

Делаем свой docker-образ Apache Kafka 4.0

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров6.6K

В 2024 году мы не дождались выхода в свет Apache Kafka 4.0, в которой окончательно исчезнет поддержка ZooKeeper, оставив нам для создания кластеров только KRaft. Кто-то давно уже перешёл на эту прекрасную технологию, другие же размышляют, как им жить дальше — оставаться на линейке 3.х или в омут с головой.

Новогодние каникулы самое подходящее время для того, чтобы пощупать новую версию. Хотя код невозбранно доступен в Github проекта Apache Kafka, docker-образов текущих сборок 4.0 мне найти не удалось. Также поддержку 4.0 ещё не добавили в довольно популярный, и с недавних пор мною любимый, k8s-оператор strimzi. Ну что же, придётся устроить себе праздник самому!

Читать далее

Kafka Streams ч5: настройка окон, работа с задержанными событиями и suppression

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров2.9K

Это моя финальная часть(ну пока что ;)) серии статей про Kafka Streams, прошлые статьи тут [ноль, один, два, три] Теперь давайте разработаем приложение, которое считывает: cобытия о пульсе из топика pulse-events.

Читать далее

Создание динамических таблиц в SuperSet

Время на прочтение5 мин
Количество просмотров10K

Однажды в студеную зимнюю пору из-за морей, из-за океанов прилетело известие: лицензии не выдаем, тех.поддержку не оказываем, а можем и вовсе отключить все системы. В компании погоревали, но делать нечего, решили переходить на новые системы, да такие, чтобы не смогли в любой момент их превратить в тыкву. И стали смотреть в сторону open-sourсe решений. Проанализировали несколько BI-систем и остановились на SuperSet.  /*После QlikSense и Tableau казалось, что это так себе затея*/

Меня зовут Корнева Настя, я отвечаю за разработку BI-отчетности в Magnit Tech в рамках проекта Аналитика УЦП (управление цепочками поставок). В этой статье поделюсь нашим опытом создания динамических сводных таблиц в BI-инструменте SuperSet, что будет полезно разработчикам отчетности и всем, кому интересна тематика.

Читать далее

[Записки разработчика] airflow->symfony-console->bitrix agents

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров1.7K

Всем привет, случалось такое, что вам надо поставить кучу агентов битрикса на крон, а потом сидеть и разбираться - сколько они отрабатывают, отрабатывают ли вообще, когда падают или зависают?

Ну конечно случалось. Так вот, чтобы получить визуальное представление о том, что там происходит, было принято решение, вынести агенты даже не на крон, а на apache airflow. Поведаю вам, как это было реализовано.

Агенты

По факту, агенты - это выполнение php команд по-расписанию. Но мы пойдем дальше и выделим их в отдельную сущность, в классы с расширением Agents.php

Создадим интерфейс для агентов

Читать далее

Karavan историй: от решения задачи к готовому продукту

Уровень сложностиСложный
Время на прочтение10 мин
Количество просмотров1.3K

Привет, Хабр! Меня зовут Саша Петраки, два года я занимаюсь разработкой интеграционных решений в К2Тех. И сегодня хочу рассказать, почему мы с командой снова задались вопросом: “Как связать воедино все информационные системы компании?” Казалось бы, ответ очевиден — настроить интеграции между ними. Но если раньше для решения этой задачи можно было использовать готовые импортные продукты, то сейчас необходим другой подход, причем сделать это, как правило, требуется максимально быстро.

Нам поступил запрос от коллег из департамента внутренней автоматизации (ДВА). Мы искали пути решения… а в итоге докрутили ПО до такой степени, что получился готовый продукт с возможностями low-code для типовых задач и pro-code для кастомных кейсов. О его создании, реализованных кейсах и результатах разработки пойдет речь в нашей статье. 

Читать далее

Airflow 3 is Coming

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров6.4K

Как-то один из самых главных контрибьюторов в Airflow Ярек Потиюк рассказал, что Airflow 3 станет новым золотым стандартом индустрии. Это довольно смелое заявление. Я же считаю, что в Airflow 3  еще многого не хватает, чтобы действительно стать стандартом.

Если вы еще не знаете, что такое Airflow, то, к сожалению, это статья будет сложной. Давайте вместе освежим память.

Airflow - это платформа с открытым исходным кодом для написания и управления рабочих процессов. Airflow была основана в 2014 году в AirBnB. С тех пор платформа прошла путь до версии 1.0 в 2015 году, стала Apache Top Level Project в 2019 и плотно обосновалась как Enterprise Production-Ready в 2020 с версией 2.0.

Читать далее

Симулятор брокера Apache Kafka: Kafka Visualization от компании SoftwareMill

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров8.7K

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

В моей предыдущей статье про симулятор одного из самых популярных брокеров сообщений — RabbitMQ (https://habr.com/ru/articles/859 982/) много читателей оставляли в личку разные вопросы, но одним из самых популярных и часто задаваемых стал: «Очень классный и удобный симулятор! А есть ли такой же для Kafka?» И тут я понял: действительно, несправедливо рассказывать и, так сказать, нести в массы симулятор одного типа брокеров, но совершенно забыть про другой. Ну что ж, Кафка, значит, Кафка!

На просторах всемирной паутины, к сожалению, стопроцентного аналога‑конструктора, такого как RabbitMQ Simulator, к сожалению, я не нашел. Но мы же знаем, что этой статьи не было бы, если бы я не нашел что‑то интересное.

И сегодня это будет Kafka Visualization от компании SoftwareMill.

Читать далее

Apache Flink: Flink Table API & SQL, часть 2

Уровень сложностиСредний
Время на прочтение11 мин
Количество просмотров8.6K

Table API — это API для взаимодействия с данными в табличном виде. Если рассматривать аналогию со Spark, то наша таблица в Table API — это датафреймы в Spark. Нет четкой структуры, каждая точка потока — таблица, то есть после преобразования таблицы нам возвращается таблица, как это происходит и в Spark. 

Так же, как и Spark, Table API использует свой диалект SQL, который можно использовать над таблицами. Таблицу мы можем зарегистрировать в каталоге Table API и обращаться к ней с помощью SQL, используя команду Execute SQL. Все преобразования можно делать как обращаясь к таблице напрямую, через метод, так и при помощи SQL, то есть при помощи Select можно создать новую таблицу. Может запускаться как приложение, так и интерактивно SQL-запросами. То есть если у вас развернут Flink-кластер, то можно к нему подключиться при помощи Flink SQL, вбивать команды, создавать каталоги, подключаться к каталогам и проворачивать, например, батчевые SQL-запросы, которые перетягивать данные.

Главная фишка: источники и приемники могут создаваться и конфигурироваться при помощи DDL SQL.

Читать далее

Apache Kafka: типовые проблемы и способы их решения

Время на прочтение7 мин
Количество просмотров13K

Apache Kafka — это решение для распределенной потоковой передачи сообщений. Проект, построенный на основе Scala и Java, направлен на создание единой платформы с высокой пропускной способностью и низкой задержкой для управления потоками данных в реальном времени. Основными возможностями платформы потоковой передачи данных является возможность публиковать потоки записей и подписываться на них, подобно очереди сообщений или системе бизнес‑обмена сообщениями. Также большое значение имеет возможность обрабатывать потоки записей по мере их поступления и хранить их отказоустойчивым и долговечным способом.

Читать далее

Apache Flink: Flink Table API & SQL, часть 1

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров6.6K

Привет! Меня зовут Александр Булатов, я старший инженер данных в Блоке Данных билайна. В этой серии статей я расскажу, как выглядит создание Source и Sink для Table API & SQL и как Table API взаимодействует с DataStream API.

Я работаю на проекте Radcom, в котором мы получаем данные о детализации звонков. И есть источник потоковых данных, которые мы получаем с Kafka. Таких потоков у нас внутри Radcom одиннадцать штук, и данные от них идут в формате csv. Формат не самый удобный для обработки, потому что он не имеет в себе схему — нам присылают просто голые строки csv, без какой-либо схемы, и нам нужно парсить эти строки относительно ее. 

В одном подобном потоке вполне может находиться сто миллиардов записей в сутки, а это со всех потоков почти семь терабайт в день. У нас в билайне это считается одним из самых больших потоков, которому требуется очень много ресурсов, в год с учетом репликации мы занимаем почти семь петабайт данных. 

Так вот, мы принимаем данные в csv и должны их сохранять в Hive в колоночных форматах, чтобы впоследствии аналитики и Data Scientists могли пользоваться этими данными. У нас принято использовать либо ORC, либо Parquet. Мы попробовали оба формата, пришли к Parquet. 

Читать далее

Kafka Streams ч4: Stateful processing

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров1.1K

В предыдущих статьях мы познакомились с основами Kafka Streams и рассмотрели stateless операции. В этой статье мы погрузимся в stateful processing и создадим приложение для управления запасами в реальном времени. Шаг за шагом мы реализуем функциональность, которая позволит отслеживать состояние запасов товаров, обрабатывать поступления и продажи, а также предоставлять доступ к текущему состоянию через REST API.

Читать далее

AWS выпустила мультиагентную платформу искусственного интеллекта со 100% открытым исходным кодом

Время на прочтение4 мин
Количество просмотров3.8K

Multi-Agent Orchestrator — гибкая и мощная платформа для управления несколькими AI-агентами и обработки сложных разговоров.

GitHub Repo - https://github.com/awslabs/multi-agent-orchestrator

Читать далее

Ближайшие события

Гайд по установке Apache Airflow, на случай, если у тебя его ещё нет в преддверии 2025 года

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров16K

Немного лирики, что такое Apache Airflow — это оркестратор (ваших данных), инструмент для создания, планирования и мониторинга рабочих процессов (так называемых DAGs — Directed Acyclic Graphs).

Читать далее

Плохие линии связи для 1С — поможет ли Apache?

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров3K

 

Все знают, что 1С поддерживает работу по HTTP через Apache как в режиме Тонкого клиента, так и в режиме Веб клиента. Так же в тонком клиенте 1C можно указать скорость соединения. Мы знаем, что танки грязи не боятся, боится ли 1С плохих линий?

Читать далее

Как мы попробовали Apache Iceberg в связке со Spark и что из этого вышло

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров5.5K

Тема преимуществ открытых табличных форматов при работе с озерами данных всё чаще поднимается в среде дата-инженеров. Предполагается, что их использование способно устранить недостатки популярного Apache Hive. Но так ли это на практике?

Меня зовут Иван Биленко, я инженер данных в команде дата-платформы Циан. В этой статье я хочу немного познакомить вас с процессами и стеком внутри нашей платформы, рассказать, почему мы решили попробовать Iceberg, с какими проблемами столкнулись при тестировании и какие преимущества Iceberg может дать тем, кто еще только задумывается о переходе. Дисклеймер: статья носит обзорный характер.

Читать далее

Как создать дашборд в Superset: гайд для новичков и полезные лайфхаки

Уровень сложностиПростой
Время на прочтение16 мин
Количество просмотров31K

Superset не самый новый bi-инструмент, но его популярность продолжает расти. На мой взгляд, он достаточно прост в освоении, но все же требует некоторых усилий и времени, чтобы разобраться куда тыкать, чтобы загрузить данные и нарисовать красивый отчет. Лично я за свою карьеру в IT уже второй раз сталкиваюсь с необходимостью переезда на этот инструмент. Он снова новый для компании и многие сотрудники с ним раньше не работали. Поэтому я и решила написать статью-шпаргалку, которая поможет в несколько кликов создать работающий дашборд и всегда будет под рукой.

В дополнении к гайду напишу с какими подводными камнями мне приходилось сталкиваться, как их решить, а также покажу несколько полезных фичей Superset. Это поможет быстро разобраться в интерфейсе и знать, на что обратить внимание.

Читать далее

Kafka Streams ч3: Stateless processing

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров1.3K

В предыдущих статьях [ноль, один] мы рассмотрели основные концепции Kafka Streams и сравнили их со стандартными подходами обработки потоковых данных. В этой части мы сосредоточимся на stateless processing (обработке без сохранения состояния) и поймем как применять различные операции Kafka Streams для решения практических задач. Мы создадим приложение для обработки данных медицинской клиники.

Требования к ETL пайплайну:

Приложение должно обрабатывать поток JSON-сообщений из входного топика Kafka (patient-records), содержащих информацию о пациентах медицинской клиники. Цель состоит в том, чтобы применять различные stateless операции для трансформации данных и отправлять результаты в выходной топик (clinic-notifications-topic). Это позволит продемонстрировать, как использовать основные возможности Kafka Streams для обработки данных без сохранения состояния.

Читать далее

Написание ETL пайплайна при помощи airflow, rabbitmq и postgres

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров9.5K

В данной статье мы рассмотрим взаимодействие apache airflow, rabbitMQ и postgreSQL. Научимся правильно устанавливать соединения между ними и напишем базовый ETL.

Читать далее

Kafka Streams ч2: DSL, Processor API

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров2.5K

DSL — это то, что делает Kafka Streams таким простым и позволяет подняться на более высокий уровень абстракции.

Читать далее