Как стать автором
Обновить
91.34

Data Engineering *

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

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

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

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

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

Читать кейс

Kafka без дисков: плюсы и минусы KIP‑1150 (Diskless Topics)

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

TL;DR: KIP‑1150 (Diskless Topics) предлагает Kafka писать сообщения сразу в облачное хранилище (S3 и аналоги), минуя диски брокеров. Это сильно экономит деньги и упрощает масштабирование в облаке, но увеличивает задержки и делает Kafka зависимой от облачных сервисов. Отлично для дешёвых, «толстых» потоков логов, но плохо подходит для real‑time систем с миллисекундными требованиями.

Читать далее

Apache Flink: Сериализация и JacksonStateSerializer

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

Привет, Хабр! На связи Александр Бобряков, техлид в команде МТС Аналитики. Это мой десятый материал про Apache Flink. В предыдущей части мы закончили разбирать оператор с Flink-таймерами, использующими внутреннее состояние. Также я показал, как их можно тестировать с помощью классов TestHarness или Flink MiniCluster. В дополнение тестами была покрыта вся Flink-джоба, включая E2E-тесты.

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

Весь разбираемый исходный код можно найти в репозитории AlexanderBobryakov/flink-spring. В master-ветке представлен итоговый проект по всей серии статей. Эта часть соответствует релизной ветке с названием release/9_JacksonStateSerializer.

По мере выхода новых материалов на Хабре ссылки на них будут появляться ниже.

Читать далее

Технология проектирования хранилищ данных Data Vault 2.0

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

Data Vault 2.0 остаётся одним из самых популярных методов моделирования данных. Его выбирают за гибкость, масштабируемость и устойчивость к изменениям. Этот разработанный Дэном Линстедом подход помогает организациям быстро адаптироваться к новым бизнес-требованиям, легко интегрировать новые источники данных и надёжно хранить исторические данные.

Эта статья будет полезна дата-инженерам, аналитикам данных, архитекторам данных и бизнес-аналитикам. Она поможет усовершенствовать умения в моделировании данных. Мы рассмотрим ключевые принципы Data Vault 2.0 и на практическом примере покажем, как разложить сырые данные по Data Vault 2.0.

Читать далее

Тыкай и кидай голосовухи: как ускорить сбор данных для мультимодальности

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

Привет! Мы собираем много разных данных и часто перед заказчиком стоит большая описательная задача в области задач компьютерного зрения: детально и максимально подробно описывать всё, что присутствует на изображении или видео.

В деталях описывать картинку с помощью текста — трудоемкая задача для человека. На днях исследователи из института Аллена предложили интересный способ оптимизации такой задачи. А так как мы, в хорошем смысле, поехавшие на качестве данных, то пройти мимо было невозможно.

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

Давайте разбираться.

Читать далее

FineBI 6: Обработка данных для начинающих пользователей — 2

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

Команда Business Intelligence GlowByte приветствует всех читателей сегодняшнего гайда по обработке данных в FineBI 6 версии. Меня зовут Александр Ларин, руководитель центра поддержки и обучения BI-решений в GlowByte, и в этой статье я поделюсь полезными функциями, которые облегчат вашу работу по подготовке данных для их последующего анализа. С первой частью вы можете ознакомиться по ссылке.

Гайд включает в себя 5 уроков, которые помогут вам ближе познакомиться с инструментами подготовки данных в FineBI. Этот материал будет полезен начинающим BI-разработчикам. Если после прочтения вы захотите разобраться со всеми особенностями платформы, закрепить базовые знания и прокачать навыки создания сложных визуализаций, приглашаю на наши курсы.

Читать далее

Отправка уведомлений по таймеру в Apache Flink

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

Привет, Хабр! На связи Александр Бобряков, техлид в команде МТС Аналитики. В предыдущих постах я рассказал, как собрать первое приложение Flink со Spring, реализовав пайплайн дедупликации сообщений Kafka-to-Kafka. В этом примере погружусь в использование таймеров в Flink, а в следующих статьях расскажу, как работать с более сложными состояниями, эволюционировать их схему и покрыть это все тестами.

Весь разбираемый исходный код есть в репозитории AlexanderBobryakov/flink-spring. В master-ветке представлен итоговый проект по всей серии. Эта статья соответствует релизной ветке с названием release/7_Trigger_Flink_Job.

Это восьмой материал из моей серии про Apache Flink. По мере выхода новых ссылки на них будут появляться ниже.

Читать далее

Оптимизируем Shuffle в Spark

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

Привет, Хабр! Меня зовут Сергей Смирнов, я аналитик в продукте CVM в X5 Tech. Я занимаюсь разработкой инструмента анализа A/B экспериментов. Мы ежедневно считаем десятки метрик для сотен экспериментов на десятки миллионов клиентов –- это терабайты данных, поэтому наш инструмент разработан на Spark.

В последнее время мы заметили, что существенную часть времени работы наших Spark-приложений занимает обмен данными (Shuffle) между исполнителями. В этой статье я расскажу о том, какие оптимизации помогли нам избавиться от самых тяжёлых операций Shuffle. Речь пойдёт не только о BroadcastJoin, но и о двух других неочевидных методах – предварительное репартицирование и бакетирование.

Читать далее

О чём узнают дата-инженеры на SmartData 2024: инструменты, БД, DataOps и немножко космоса

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

Какими инструментами пользуются российские дата-инженеры в 2024-м? Как в реальности сравнить производительность Postgres и распределённых баз данных? Как строить RAG-системы, дающие нейросетям доступ к данным, которых не было в обучающей выборке? И как развивается сейчас космическая индустрия?

В сентябре мы проведём конференцию по дата-инжинирингу SmartData 2024. Сейчас её программа уже составлена полностью, и представляем её Хабру.

Читать далее

Делаем своего AI стилиста на python

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

Привет, чемпионы!

AI решение, которые я разберу в этой статье - после запуска в телеграм привлекло почти органически внимание 70 000 новых пользователей за месяц, а всего было произведено 400 000 генераций. Разбираю, как реализовал сама ML модель. Погнали!

Переодеть коллег

Aqueduct: Как мы экономим железо для МЛ-вычислений

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

Привет! Меня зовут Олег Бугримов, я руковожу разработкой в команде Data Science SWAT в Авито. Мы занимаемся инженерией для машинного обучения. Одно из направлений - это оптимизация продового инференса. Наша задача чтобы модельки работали быстро и не потребляли безумное количество ресурсов. Так вот, мы дооптимизировались до того, что реализовали инструмент который позволяет сэкономить 30% железа. Вы видите реальный график нагрузки GPU-процессора

Читать далее

Повышаем Data Quality: щепотка Soda для ваших данных

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

Привет! Меня зовут Александр Кудрявцев, я аналитик данных в команде Data Platform Банки.ру. Недавно мы озадачились вопросом контроля качества данных (Data Quality) и стали искать комплексное решение. Один из инструментов, который попал в поле зрения, — Soda Core. О нем и пойдет речь в материале.

Читать далее

Там, где метрики молчат: как расшифровка звонков помогла лучше понимать бизнес-клиентов

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

Привет, Хабр! Меня зовут Денис, я один из лидеров направления ВкусВилл Бизнес. Вместе с командой продактов занимаюсь развитием клиентского пути бизнес-клиентов. 

Эта статья о том, как мы нашли для себя ещё один способ услышать реальные голоса наших клиентов, чтобы понять, как работает наш продукт в реальной жизни, не опираясь исключительно на метрики. Расскажу, как ИИ помог нам самостоятельно, без разработки увидеть то, что скрывают дашборды.

Читать далее

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

Data Engineering — это не Software Engineering

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

Это мой вольный перевод статьи "Data Engineering is Not Software Engineering", с рядом моих правок, дополнений, а так же сокращений (так как автор склонен повторять одно и то же, но иными словами или излишне "разжевывать" очевидные вещи). Мне кажется, автор действительно поднял очень важную тему, которую я "чувствовал" по своей практике, но не мог сформулировать так точно, как это сделал он.

Мало кто задумывается, что дата-инженерия и разработка ПО имеют значительные различия. Поэтому распространено мнение, что некое отставание дата-инженерии в части внедрения современных методов разработки, таких как Agile, Test Driving Development и т.д. обусловлено лишь отставанием в освоении этих передовых практик.

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

Читать далее

Автоматизация разведочного анализа данных (EDA) с помощью Python

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

Всем привет! Меня зовут Константин Некрасов, я работаю дата-сайентистом в Газпромбанке. Хочу рассказать про инструмент, который серьезно упростил мою повседневную работу с данными, и поделиться им.

Если вы когда-нибудь занимались машинным обучением, то знаете — перед тем как строить модель, нужно как следует изучить свои данные. Этот этап называется EDA (Exploratory Data Analysis), или разведочный анализ данных (РАД). Он критически важен — именно здесь мы находим скрытые закономерности, выдвигаем первые гипотезы и понимаем, как лучше обработать данные для будущей модели.

Но EDA отнимает у дата-сайентистов кучу времени, которое можно потратить на что-то другое и не менее важное: придумать новые признаки, поэкспериментировать с разными алгоритмами или настроить гиперпараметры для более высокой точности модели.

Чтобы облегчить задачу, я разработал класс EDAProcessor, который автоматизирует ключевые этапы EDA: от базовой статистики и визуализации распределений до углубленного анализа корреляций, выбросов и временных зависимостей. Результаты анализа сохраняются в виде наглядных графиков и подробной excel-таблицы, где на разных листах представлены все важные статистические показатели и закономерности в данных.

Сразу оговорюсь — я не изобретаю здесь новых статистических методов, не претендую на научную новизну в области математической статистики, а мое решение не универсально. Каждый набор данных уникален, и полностью автоматизировать его анализ невозможно — всегда нужен опытный взгляд аналитика. Но базовые, наиболее часто используемые методы EDA этот инструмент берет на себя, ускоряя начальный этап работы с данными. Я попытался собрать в скрипт наиболее общие концепции EDA, которые используются в подавляющем большинстве случаев на первоначальной стадии разработки ML-модели.

Сам скрипт вот тут, а под катом я расскажу, как он работает и что делает.

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

Академия Arenadata: How to ADS.NiFi. Концепция потокового программирования в NiFi

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

Добрый день. Меня зовут Иван Клименко, я архитектор в департаменте поддержки продаж компании Arenadata. Основное направление моей работы — продукт Arenadata Streaming (ADS), масштабируемая и отказоустойчивая система для потоковой обработки данных в режиме реального времени, предназначенная для корпоративного использования и построенная на базе Apache Kafka и Apache NiFi.

Сегодня я хотел бы обсудить концепцию потокового программирования, уделить внимание FlowFile и рассмотреть подходы к разработке потоков обработки данных в NiFi. Эта статья в первую очередь адресована новичкам, интересующимся NiFi, а от опытных разработчиков я буду рад услышать дополнения и конструктивную критику.

Читать далее

Нам нужен RAG, вам нужен RAG: как встроить LLM туда, где она не нужна

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

Когда хайп захватывает умы, кажется, что любое техническое решение должно строиться вокруг новой модной технологии и что теперь-то мы ух заживем! Сегодня у нас на хайпе RAG (Retrieval-Augmented Generation), вчера — NFT, позавчера — блокчейн везде и всюду.

Давайте попробуем разобраться, нужен ли RAG на самом деле, или это просто «новый блокчейн» и через год все набьют шишки и забудут о нем.

Читать далее

SpyderIDE: Твоя новая «восьмилапая» подруга для Python-разработки

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

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

Читать далее

Пора перестать в любой непонятной ситуации строить DWH для аналитики

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

Привет!
Кажется, первая статья нашла своего благодарного читателя.Снова мысли от CDO трудящегося вместе с одной небольшой компанией ру-сегмента.
Продолжу о том, что "наболело".

Эта статья может быть Вам полезна, если консалтинг/интегратор/CTO/CIO/сын маминой подруги настойчиво хочет решить все Ваши "проблемы" в аналитике классным корпоративным хранилищем, далее - DWH.

Читать далее

Инженер машинного обучения: чем он занимается и какие ему нужны навыки

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

Привет! Меня зовут Антон Моргунов, я инженер МО в «Базис.Центре» и программный эксперт курса «Инженер машинного обучения» в Яндекс Практикуме. В этой статье я расскажу, что такое машинное обучение, чем занимается инженер МО, какие навыки и компетенции ему пригодятся, а также в каких компаниях востребован этот специалист. А в конце дам пару советов для начинающих инженеров МО.

Читать далее