Обновить
84.06

Data Engineering *

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

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

Качество данных и роботы: как мы высвободили 5 рабочих часов в день сотрудника DQ

Уровень сложностиПростой
Время на прочтение15 мин
Охват и читатели1.4K

Привет, меня зовут Катя Моисеева, я руководитель направления качества данных в Data Office Tele2. Мы уже рассказывали о том, как с нуля строили процессы качества данных на различных площадках (выступления можно посмотреть по ссылке).

Сейчас для нас остро встал вопрос о ресурсах нашей команды, а точнее их «резиновости» — поток входящих инцидентов растет по мере подключения новых систем к проверкам качества, а команда остается в составе 3 сотрудников. Возникает вопрос — а какая она, идеальная команда качества данных, которая сможет создать процессы с нуля, внедрить и привить культуру внутренним заказчикам, свести к минимуму риски возникновения инцидентов, а еще минимизировать затраты компании?

Под катом поделились своим опытом борьбы с хаосом из потока входящих задач и запросов от бизнеса и о маленьком роботе‑спасителе, который экономит нам ежедневно 5 часов сотрудника DQ и внедрить которого по силам каждому.

Читать далее

Как маскировка данных спасает вашу приватность

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

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

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

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

Читать далее

Как работает самая популярная у дата саентистов модель машинного обучения: градиентный бустинг (XGBoosting) на пальцах

Уровень сложностиСредний
Время на прочтение4 мин
Охват и читатели5.7K

Привет, Хабр! Меня зовут Александр Троицкий, я автор канала AI для чайников, и сегодня я расскажу про самую популярную у дата саентистов модель машинного обучения - градиентный бустинг.

Читать далее

E2E-тестирование Flink Job с Kafka

Время на прочтение16 мин
Охват и читатели890

Привет, Хабр! С вами Александр Бобряков, техлид в команде МТС Аналитики. Я к вам с новой статьёй из цикла про фреймворк Apache Flink.

В предыдущей части я рассказал, как создать Unit-тест на полноценную джобу Flink и отдельные stateful-операторы с использованием Flink MiniCluster. Ещё мы научились запускать мини-кластер один раз перед всеми тестовыми классами, которые нуждаются в нём. В дополнение создали вспомогательные абстракции и аннотации, значительно разделяя ответственность в тестах и упрощая логику написания новых тестов.

В предыдущих тестах на джобу мы не затрагивали интеграцию с Kafka, ведь нам были не важны реальные source и sink. В этой статье продолжим разбираться в тестировании и напишем полноценный E2E-тест, который охватит Kafka и Flink вместе с использованием Testcontainers. Также рассмотрим неочевидные проблемы в тестировании и новые универсальные абстракции.

Читать далее

Оптимизация настроек Kafka кластера. Часть 3. Сравнительное тестирование, мониторинг и тонкая настройка Kafka кластера

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

Привет, Хабр! Представляю вам третью (заключительную) часть серии статей, посвященных оптимизации развертывания Kafka кластера (ссылка на первую и вторую части). Это перевод руководства от Confluent. Сегодняшняя статья посвящена сравнительному тестированию настроек и мониторингу Kafka кластера.

Читать далее

Коннектор ADB-TO-ADB

Время на прочтение14 мин
Охват и читатели2K

По опыту нашей продуктовой команды разработки и поддержки, пользователи, оперирующие большими объемами данных компании часто используют несколько разрозненных кластеров Greenplum. 

Мотивация такого решения может быть разной: организационная - разные команды-владельцы бизнес-данных выстраивают свои модели данных, обрабатывают их нужным для них образом; техническая - распределенные по различным датацентрам кластеры и т.п. Однако, рано или поздно возникает задача использовать данные из "соседних" хранилищ. Это могут быть как разовые сценарии единичных запросов, так и организация более сложных ETL-процессов. Реализация подобных механизмов опять-таки может быть разной со своими достоинствами и недостатками, исходя из возможностей и ограничений.

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

Но обо всем по порядку.

Читать далее

Книга: «Антипаттерны SQL. Как избежать ловушек при работе с базами данных»

Время на прочтение10 мин
Охват и читатели12K
image Привет, Хаброжители!

Язык SQL необходим для работы со структурированными данными. Программисты, прекрасно знающие свой любимый язык (Java, Python или Go), не могут разбираться во всем, и часто не являются экспертами в SQL. Это приводит к появлению антипаттернов — решений, которые на первый взгляд кажутся правильными, но со временем создают все больше проблем.

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

Примеры SQL-кода основаны на версии MySQL 8.0, но в тексте также упоминаются другие популярные РСУБД. В примерах кода используется Python 3.9+ или Ruby 2.7+.
Читать дальше →

[Туториал] Пишем собственные Spark Native Functions (Часть 2)

Уровень сложностиСложный
Время на прочтение12 мин
Охват и читатели705

В предыдущей своей статье Почему стоит начать писать собственные Spark Native Functions? (Часть 1), которая является переводом и которая вдохновила меня на собственные изыскания, был разобран пример, как написать свою Spark Native Function по генерации UID. Это, конечно, здорово, но вот только данная функция не принимает аргументы на вход, в то время как в реальной практике нам требуются обычно функции, которым надо передать на вход 1, 2 или 3 аргумента. Такие случаи не рассматриваются в упомянутой выше переводной статье - ну что ж, попробуем восполнить этот пробел!

Ниже я предлагаю вашему вниманию результаты своих изысканий по созданию собственных Spark Native Functions, которые бы принимали на вход несколько аргументов.

Читать далее

Оптимизация настроек Kafka кластера. Часть 2. Механизмы управления задержкой, надежностью и доступностью

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

Привет, Хабр! Представляю вам вторую часть из серии статей, посвященных оптимизации развертывания Kafka кластера (ссылка на первую часть). Это перевод руководства от Confluent. Сегодняшняя статья посвящена тому, как уменьшить задержку и повысить надежность и доступность. Заключительная третья часть будет посвящена мониторингу и бенчмаркингу.

Читать далее

Использование генеративного ИИ для автоматизации дата инжиниринга

Время на прочтение7 мин
Охват и читатели3.5K

За сравнительно небольшое время генеративный искусственный интеллект (Gen AI) превратился в одну из ключевых технических парадигм и уже породил отдельное направление в программной инженерии. Это происходит аналогично тому, как сначала это сделали СУБД, потом интернет с поиском и мобильными платформами. Gen AI несет в себе не меньший потенциал для решения и автоматизации ключевых бизнес-проблем.

Читать далее

“Семь раз отмерь, один раз сшей” или совмещение 3D изображений в компьютерной томографии

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели645

Привет, Хабр! 

Мудрая пословица гласит: «Семь раз отмерь, один – отрежь». Эта пословица применима и к томографии, так как в случае проведения томографических экспериментов при классическом подходе для каждого объекта составляется сначала план измерений, а потом уже выполняются сами измерения. Если объект протяженный или помещается в поле вида детектора впритык, то часто принимается решение сделать два измерения: верхней части объекта и нижней. В этом случае в программе обработки данных томографических измерений необходима дополнительная функциональность, а именно, совмещение и сшивка трехмерных изображений. О том, как мы добавили такую функциональность в Smart Tomo Engine, наш продукт для томографической реконструкции и анализа, мы расскажем в сегодняшней статье.

Читать далее

Разработка системы отчётности и BI: вопросы производительности

Время на прочтение22 мин
Охват и читатели2.6K

Мы в компании «Магнит» много лет строим и эксплуатируем корпоративное хранилище данных и занимаемся различными задачами, связанными с этим. В частности, разрабатываем инструмент для конечного пользователя — систему отчётности и BI.

В статье рассмотрим вопросы оптимизации производительности системы.

Читать далее

Midjourney и промпты для пиксельных артов

Время на прочтение2 мин
Охват и читатели4.5K

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

Часто ли вы обращаетесь к Midjourney или Stable Diffusion, чтобы нарисовать фантастический арт? Я да - нравится позалипать пару минут на фантастический арт. Давайте сегодня учиться генерировать подобные пикчи за пару кликов:

Посмотреть промпты

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

Оптимизация настроек Kafka кластера. Часть 1. Механизмы управления пропускной способностью

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

Привет, Хабр! Представляю вам перевод технического документа от Confluent, который посвящен тому, как определить, что именно нужно оптимизировать (пропускная способность, задержка, надежность или доступность), как настроить развертывание Kafka в соответствии с этими целями и убедиться в их достижении с помощью мониторинга. Сегодня я выкладываю первую часть, в которой обсуждается, как определить цели оптимизации и улучшить пропускную способность Kafka. Последующие статьи будут посвящены задержке, надежности, доступности, мониторингу и бенчмаркингу.

Читать далее

Собеседования джуна аналитика данных: чего ждут и что спрашивают работодатели

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

Привет! Меня зовут Дарина Кухтина, я руководитель аналитики в компании, которая разрабатывает мобильные игры, и собеседую аналитиков уже 4 года, а ещё я наставник на курсе «Аналитик данных» в Практикуме. В статье я расскажу, о чём важно помнить, чтобы интервью проходили спокойнее и проще.

Читать далее

Ландшафт Open Source Data Engineering в 2024 году: место России и мировые тенденции

Время на прочтение13 мин
Охват и читатели4K

Недавно на Practical Data Engineering Substack вышла статья, посвященная общемировому развитию Open Source дата-инжиниринга, которая может оказаться полезной и для российских специалистов. Мы перевели статью, в полном виде она опубликована здесь (ссылка). А в этом посте мы предлагаем вам наше осмысление результатов этой статьи и State of Data Engineering вместе с собранными нами данными непосредственно по России. 

Предыстория

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

Многие известные отчеты, вроде MAD Landscape или State of Data Engineering, предлагают обширный обзор инструментов и сервисов в этой области. Однако основной фокус данного обзора – open-source инструменты, используемые для работы с данными на всех этапах жизненного цикла data-engineering.

Ниже представлены данные об экосистеме data engineering по состоянию на начало на 2024 года:

Читать далее

Три оттенка Kubernetes Operator, или чем слушает Prometheus

Уровень сложностиСредний
Время на прочтение33 мин
Охват и читатели3.1K

Это ещё не туториал, но относительно подробный гайд о том, как компоненты Операторов взаимодействуют с Kubernetes API на уровне кода (Golang), чтобы реализовать заложенную в них логику для автоматизации вполне определённых практических задач. И да, всем известно, максимальный уровень автоматизации работы в Кубернетес ограничен лишь желанием самих разработчиков избавиться от рутины в близкой для них предметной области, потому я разделил текст на три части, чтобы вы могли без промедления промотать к наиболее актуальной, в которой узреете нечто достойное вашего внимания:

1. Кастомные ресурсы - мониторы Прометеус-оператора
2. Информеры и контроллеры
3. Сайдкар-Инжекторы с помощью аннотаций и вебхуков

Читать далее

Машинное обучение: мост между бизнесом и Data Science

Время на прочтение16 мин
Охват и читатели7.9K

Если последние несколько лет вы не жили на далёком острове без электричества и связи, то, вероятно, слышали о машинном обучении. Этот тренд было сложно не заметить. Каждый раз, когда мы говорим о беспилотных автомобилях, чат-ботах, AlphaGo или предиктивной аналитике, упоминается та или иная реализация машинного обучения. Хотя недостатка в историях и евангелистах нет, машинное обучение пока не стало в глазах бизнеса абсолютной необходимостью. В общественном восприятии применяемые в ML алгоритмы близки к научной фантастике, а подготовка конкретного плана внедрения ML по-прежнему остаётся высоким барьером.

Цель этой статьи — практические ответы, а не подготовка видения или продвижение тренда. Мы поговорим о зонтичном термине data science, о взаимосвязи его отраслей, основных задачах, которые может решать машинное обучение, а также о том, как эти задачи можно перевести на язык бизнеса. Также мы обсудим основные решения, которые нужно принять при найме специалистов, и выделим сложности, которые нужно учесть заранее
Читать дальше →

Кто такой аналитик бизнес-данных по стандарту Guide to Business Data Analytics

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

Закончил перевод стандарта от Международного института бизнес-анализа (IIBA) Руководство по аналитике бизнес-данных. Стандарт выстроен примерно по той же схеме что и другие стандарты IIBA:

• Введение
• Области знаний (домены).
• Типовые задачи, которые решают аналитики.
• Техники (методы работы), которые используются для решения задач.

Кроме того, в отличие, например, от стандарта BABOK Guide, здесь присутствуют значительное количество практических примеров из реальной жизни – как та или иная компания решали свои проблемы с помощью аналитики данных, а также по каждому домену приводится разбор учебного кейса – в этом Руководство по аналитике бизнес-данных легче использовать как учебник, чем BABOK Guide.

Роль аналитика бизнес-данных в данном стандарте занимает примерно такое же место как роль бизнес-аналитика в BABOK Guide.

Читать далее

Распознавание именованных сущностей: механизм, методики, сценарии использования и реализация

Время на прочтение13 мин
Охват и читатели13K

Естественные языки сложны. А когда на горизонте появляется контекст, они становятся ещё сложнее. Возьмём для примера фамилию Линкольн. Некоторые сразу подумают о шестнадцатом президенте США, выдающейся исторической фигуре. Однако для других это производитель автомобилей с тем же названием. Одно простое слово имеет разные значения.

Мы, люди, без проблем различаем значения и категории. Это свидетельствует о нашем интуитивном понимании окружающего мира. Но когда дело касается компьютеров, эта, казалось бы, простая задача превращается в неоднозначную проблему. Подобные трудности подчёркивают необходимость надёжного распознавания именованных сущностей (named entity recognition, NER) — механизма, при помощи которого мы учим машины понимать различные лингвистические нюансы.

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