Как стать автором
Поиск
Написать публикацию
Обновить
81.18

Data Engineering *

Обсуждаем вопросы сбора и подготовки данных

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

Spark on Kubernetes: наш путь к автоматизации через кастомный оператор Airflow

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

Всем привет! Меня зовут Дмитрий Третьяков, я ML Engineer в компании «Лента». Мы регулярно запускаем PySpark-приложения в Kubernetes-кластере, используя Airflow. Этот процесс важен для нашей ежедневной работы с данными, но в какой-то момент мы столкнулись с тем, что стандартный подход через SparkKubernetesOperator стал сдерживать развитие: не хватало гибкости, возникали сложности в сопровождении и процесс настройки был излишне сложным для разработчиков.

Читать далее

Что скрывается за MCP-сервером и почему он может заменить RAG

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

Область искусственного интеллекта стремительно развивается, открывая новые способы повышения эффективности их работы и интеграции с данными в реальном времени. Одним из последних достижений стал Model Context Protocol (MCP) — открытый стандарт, позволяющий AI-моделям напрямую обращаться к файлам, API и инструментам без необходимости в промежуточных этапах, таких как создание эмбеддингов или векторный поиск. В этой статье мы рассмотрим, что такое MCP-сервер, как он работает и почему он может изменить будущее AI.

Читать далее

Apache Flink для начинающих: архитектура, библиотеки и применение

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

Apache Flink — это фреймворк и распределенный движок обработки данных, поддерживающий какпакетную (ограниченную), так и потоковую (неограниченную)обработку данных. Это значит, что с его помощью можно обрабатывать как статичные (неизменяемые) данные, так и данные, поступающие в реальном времени.

Читать далее

От точечных решений к экосистеме: как «Национальная Лотерея» улучшает качество данных

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

Привет, Хабр! Сегодня мы расскажем, как «Национальная Лотерея» — компания, обрабатывающая сотни миллионов транзакций ежегодно, полностью перестроила свою работу с данными. Изначально инфраструктура данных опиралась на Excel-отчёты, ручные выгрузки и разнородные базы — подход, типичный для старта аналитических процессов. Однако со временем такие методы стали сдерживать скорость и масштабируемость аналитики.

Читать кейс

Как мы храним 20000+ метрик и миллиарды комбинаций разрезов в одной таблице

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

Привет! Меня зовут Влад Божьев, я старший разработчик юнита АБ-тестирования Авито. Один из наших ключевых инструментов – M42, сервис для визуализации метрик. Он позволяет быстро проверять гипотезы, анализировать отклонения и оценивать инициативы.

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

В нашем семантическом слое данных больше  20 000 метрик, и есть десятки разрезов для каждой из них. Под катом рассказываю, как мы храним терабайты данных и автоматизируем добавление новых разрезов в отчёт M42.

Читать далее

PondPilot: как мы сделали локальный SQL-редактор в браузере на DuckDB и WASM

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

Любой, кто хоть раз пытался «по-быстрому» проанализировать CSV-файл или прототип БД, сталкивался с выбором из неудобств: открывать в Excel, запускать Jupyter, возиться с pandas, или поднимать Postgres/ClickHouse ради пары запросов. Мне показалось странным, что в 2025 году до сих пор нет удобной zero-setup SQL-песочницы для локальных данных.

Так родился PondPilot - open-source инструмент для анализа данных, работающий прямо в браузере, без серверов и настройки.

Читать далее

Долгожданный релиз Airflow 3

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

Привет, Хабр! Я Георгий Новожилов, инженер данных в «ДАР» (ГК «КОРУС Консалтинг»).

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

22 апреля 2025 года компания Apache выпустила новую версию своего оркестратора, которая была в разработке последние 4 года. Среди ключевых изменений — новый интерфейс, обновлённая и защищённая архитектура, а также стабильный интерфейс разработки.

В этой статье предлагаю рассмотреть, какие ещё нововведения нам привезли в масштабном обновлении Apache Airflow 3.0.0.

Читать далее

AI-агент говорит, что всё сделал. А ты уверен? Что нужно знать про оценку

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

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

Читать далее

Иногда приходится¹ копаться² в кишках³ Apache Spark

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

¹ …просто потому, что другого варианта добиться необходимого результата тупо не существует.
² и да, довольно-таки глубоко.
³ нет, серьёзно!



Давайте рассмотрим следующий бизнесовый кейс.


Дано: реально большие данные. Очень много датасетов по много терабайтов каждый, — в сумме объём тянет на петабайты. Лежат в облаке, но это не важно. Важно, что мы эти данные покупаем в «сыром» виде, каким-то образом «готовим», а потом перепродаём конечному потребителю.


Требуется: при подготовке каждого из датасетов разделить его согласно значениям одного или нескольких полей, составляющих его записи, на несколько. И это одна из особенно часто встречающихся в нашем процессе операций.


Довольно-таки сложный, продвинутый ETL у нас. Поясню на типичном примере.

Читать дальше →

ClickHouse как DWH: Производительность без боли и ловушки merge-таблиц

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

Недавно перед нашей командой встала непростая задача: объем данных для аналитики вырос до 300 миллионов строк в день. Прежние решения перестали справляться с такой нагрузкой, отчеты строились слишком медленно, а масштабировать существующую систему было дорого и сложно. Нужно было срочно находить новое решение для хранилища данных (DWH), способное глотать миллионы строк ежедневно и отдавать результат аналитических запросов практически мгновенно.

После оценки различных вариантов (классические СУБД, облачные DWH и др.) мы остановились на ClickHouse. Эта колоночная база данных открытого кода изначально создавалась для работы с большими объемами потока событий. ClickHouse славится впечатляющей скоростью агрегаций и фильтрации на терабайтах данных и отлично подходит для аналитики при больших нагрузках. В этой статье расскажем, как мы выбрали и внедрили ClickHouse в нашем проекте, построив систему сбора и анализа данных с нагрузкой сотни миллионов строк в сутки.

Поговорим об архитектуре (как данные летят из Kafka в ClickHouse), о двух подходах загрузки данных (пакетная и стриминговая), о том, какие табличные движки ClickHouse мы использовали и зачем, как нам помогли материализованные представления, об оркестрации процессов через Airflow и dbt. Отдельно разберем типичные ошибки, с которыми столкнулись в процессе, и поделимся улучшениями, которые планируем учесть при следующей реализации подобного решения.

Читать далее

Как я учился на аналитика данных

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

Привет! Меня зовут Игорь Кальченко, я ML‑разработчик в МТС AdTech. Больше полугода назад я окончил Школу аналитиков данных МТС. Это были насыщенные и интересные 10 месяцев, о которых я расскажу в этом тексте. Дисклеймер: это опыт одного выпускника программы, и он может расходиться с другими оценками, я не претендую на истину в последней инстанции.

Читать далее

Какую архитектуру данных мне выбрать? — Подход Data-инженера. Часть 1

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

Выбор архитектуры данных — это не просто техническое решение, а стратегический шаг, от которого зависит эффективность работы с данными во всей компании. Data Warehouse, Data Lake, Lakehouse или Data Mesh — у каждого подхода есть свои сильные и слабые стороны, и не существует универсального ответа. В этой статье — прагматичный разбор современных архитектур с точки зрения дата-инженера с акцентом на реальные кейсы. Если вы стоите перед выбором или хотите убедиться, что двигаетесь в правильном направлении — разложим всё по полочкам.

Читать далее

Повышаем эффективность хранения данных до 300 раз с помощью таблиц SCD-2

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

Всем привет, меня зовут Василий. С 2021 года работаю в роли инженера данных в Х5 Tech, успел за это время познакомиться с несколькими интересными проектами и подходами в области обработки данных, об одном из которых пойдет речь далее.

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

Разберем, что из себя представляют Slowly Changing Dimensions-2 (далее SCD-2) таблицы и самостоятельно реализуем на PySpark алгоритм сохранения данных в них. Попутно поговорим о том, как находить изменения в любой таблице, даже если отсутствуют поля для выбора изменившихся записей, и научимся получать из созданной SCD-2 таблицы срезы на требуемую дату в прошлом.

Читать далее

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

Каталог данных: что за зверь и с чем его едят

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

Всем привет! Меня зовут Роман Грибов, я директор по развитию данных и аналитики в «Спортмастере». Вместе с моей коллегой Татьяной Шишкиной, руководителем направления «Каталог данных», мы расскажем о том, что это за инструмент, как он работает и как позволяет сделать проще жизнь аналитиков, архитекторов и многих других (включая даже тех из нас, кто просто когда-либо смотрел на аббревиатуру «GMV» с немым вопросом «Что ты такое?»), а еще объясним главные цели его внедрения.

Читать далее

SRE в инженерии данных: профессия и ее перспективы

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

Всем привет! Меня зовут Александр Андреев, я старший SRE дата-инженер в компании "Криптонит". Сегодня я хочу рассказать о необычной, но набирающей обороты роли в области обработки данных - SRE Data Engineer: кто это такой, чем занимается, как им стать, куда развиваться и какие перспективы у этой профессии.

Читать далее

Правильный порядок колонок в B-tree индексах PostgreSQL или правило ESR

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

Когда в проекте используется составной B-tree индекс, важно не просто "создать индекс", а сделать это правильно — иначе запросы могут не только не ускориться, но и начать работать медленнее. Возникает логичный вопрос: как выбрать порядок колонок, чтобы индекс действительно работал эффективно? Брутфорсом? По интуиции? По селективности?

В этой статье я расскажу, как подходить к построению составных индексов в PostgreSQL, на что реально влияет порядок колонок. Также разберём простое правило ESR, которое помогает упростить выбор и получать стабильный прирост производительности на всех стендах.

Читать далее

To Docker or not to Docker? Вот в чём JupyterLab

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

Локальная работа в Jupyter-ноутбуках – неотъемлемая часть исследований и экспериментов нашего ML-отдела. Но из какой среды эти ноутбуки лучше запускать?
Мы пользуемся двумя вариантами: запуском из Docker-контейнера и запуском в изолированном локальном poetry-окружении.

В статье соберем минимальный сетап для работы с Jupyter-ноутбуками и ссылки на полезные ресурсы для ознакомления.

Читать далее

СIM-модель. Идеальное решение для унификации информационного обмена в энергетике?

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

Всем привет! Меня зовут Александр, и я хочу поделиться опытом использования CIM-модели и моделирования её расширений при разработке интеллектуальной системы учета электроэнергии. На самом деле материалов по этой теме у нашей команды накопилось достаточно — хватит на целую серию статьей. Начну с основ. В чем особенности рынка электроэнергетики, почему важно обеспечить унифицированный обмен данными между его участниками и как в этом помогает CIM? Давайте разбираться.

Читать далее

Гайд по Scikit-learn в 2025: собираем пайплайн, который не сломается

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

Scikit-learn — это одна из основных Python-библиотек для машинного обучения. Её подключают в прикладных проектах, AutoML-системах и учебных курсах — как базовый инструмент для работы с моделями. Даже если вы давно пишете с PyTorch или CatBoost, в задачах с табличными данными, скорее всего, всё ещё вызываете fit, predict, score — через sklearn.

В 2025 году в библиотеку добавили несколько важных обновлений: доработали работу с пайплайнами, подключили полную поддержку pandas API, упростили контроль за экспериментами.

Мы подготовили гайд, как работать со scikit-learn в 2025 году. Новичкам он поможет собрать первую ML-задачу — с данными, моделью и метриками. А тем, кто уже использует библиотеку, — освежить знания и понять, что изменилось в новых версиях.

Почитать гайд →

Заметки и материалы по итогам Lakehouse Meetup #3

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

CedrusData совместно с Лемана Тех провели митап, где рассмотрели реальный опыт внедрения современных технологий анализа данных: реализация lakehouse на Trino в Лемана Тех, использование Nessie в Азбуке Вкуса.

Читать далее