Обновить
81.15

Data Engineering *

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

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

Ассоциативный Эксель и Сквозная валидация

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

Продолжая традицию обзоров пакетов Глубины, в этой статье мы рассмотрим практику применения пакетов mathjs, logger и jsonschema.

Мы расскажем как превратить свой экземпляр Deep в ассоциативный эксель, где значения вычисляются прямо внутри транзакции. Вы также узнаете о том как можно записывать любые изменения связей. А ещё вы увидите как сделать так, чтобы значения связей валидировались, а так же чтобы к связям автоматически генерировались формы ввода.

Провалидировать глубину бездны

Data Engineering: концепции, процессы и инструменты

Уровень сложностиСредний
Время на прочтение16 мин
Охват и читатели16K
Data science, машинное обучение и искусственный интеллект — не просто громкие слова: многие организации стремятся их освоить. Но прежде чем создавать интеллектуальные продукты, необходимо собрать и подготовить данные, которые станут топливом для ИИ. Фундамент для аналитических проектов закладывает специальная дисциплина — data engineering. Связанные с ней задачи занимают первые три слоя иерархии потребностей data science, предложенной Моникой Рогати.


Слои data science для реализации ИИ.

В этой статье мы рассмотрим процесс data engineering, расскажем о его базовых компонентах и инструментах, опишем роль дата-инженера.
Читать дальше →

Модели прогнозирования продаж в «Магните»: Легенда об Ансамбле

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

Привет, Хабр! Легендарная команда прогнозирования промо сети магазинов «Магнит» снова в эфире. Ранее мы успели рассказать о целях и задачах, которые мы решаем: «Магнитная аномалия: как предсказать продажи промо в ритейле», а также поделиться основными трудностями, с которыми приходится сталкиваться в нашем опасном бизнесе: «Божественная комедия», или Девять кругов прогнозирования промо в «Магните».

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

Читать далее

Каталог данных на примере DataHub. Часть I

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

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

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

Погнали 🚀

Большие данные и огромные сомнения

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

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

Читать далее

Как я реплицировал данные с помощью postgres_fdw и dbt

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

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

Хочу рассказать вам о собственном опыте извращенной репликаций данных между базами Postgres)

Погнали 🚀

Использование функций регулярных выражений в PostgreSQL / Greenplum

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

О том, как именно использовать регулярки, написано уже много статей и туториалов. Другой вопрос, что сами по себе регулярные выражения являются параметром, подающимся на вход какой-нибудь функции. Именно функция осуществляет поиск по указанному регулярному выражению. О функциях, использующих регулярки мы сегодня и поговорим. Возможно, и по самим регуляркам я бахну свой гайд, но, как было сказано в том самом фильме: «Обязательно бахнем и не раз, весь мир в труху! Но потом...»

Читать далее

Градиентный бустинг: как подобрать гиперпараметры модели в 5 раз быстрее, чем обычно?

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

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

Читать далее

Потоковая обработка данных с помощью Kafka Streams: архитектура и ключевые концепции

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

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

В этой статье мы рассмотрим основные компоненты Kafka Streams и теоретические аспекты их использования. Мы будем использовать последние версии технологий, доступных на сегодня: Kafka 3.4.0 и Java 17 в качестве языка программированию. Для снижения входного порога мы будем использовать только нативные возможности Kafka и Kafka Streams, и не будем рассматривать решения с использованием различных фреймворков вроде Spring.

Читать далее

Dagster и Great Expectations: Интеграция без боли

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

Меня зовут Артем Шнайдер, и я занимаюсь DataScience в Бланке. Сегодня я хочу рассказать вам о том, как можно интегрировать два мощных инструмента – Dagster и Great Expectations.

Great Expectations позволяет определить так называемые ожидания от ваших данных, то есть задать правила и условия, которым данные должны соответствовать. 

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

Исходный код к этой статье на GitHub.

Давайте начнем? :-)

Погнали ?

Семантическая сегментация на основе архитектуры U-Net и определение расстояния между объектами

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

Всем привет!

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

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

Модель на базе U-Net архитектуры сегментирует различные объекты (кот, стул, стол, тарелка с котлетами итд) и при сближении двух объектов сегментации (кот - тарелка) модель сигнализирует об этом с помощью телеграмм бота.

Отлично, задача поставлена, теперь реализация!

Читать далее

Data Consistency: как быть уверенным, что с данными всё ок

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

Я довольно долгое время работала аналитиком в Яндекс.Метрике - системе web аналитики. Такие системы помогают сайтам собирать и анализировать поведение пользователей на их сайтах.

Естественно, в таких продуктах как аналитические системы, данные - это главная ценность. Поэтому одна из моих задач как аналитика был мониторинг того, что с данными всё ок.

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

Поехали

Реквием по красной панде

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

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

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

Привет, меня зовут Стас, последние 5 лет я работаю на позиции data platform engineer. Из них Apache Kafka была одной из составляющих моих платформ данных около 3 лет. Эта статья будет итогом более чем полугода эксплуатации в продуктиве кластера redpanda. Спойлер: вчера я поднял из гита удаленные плейбуки для кафки и вернул ее в продакшн обратно, прощай мечта...

Читать далее

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

Как сделать из Python-скрипта исполняемый файл

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

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

Читать далее

Data Quality в банке — знаем цену каждой ошибки

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

Финансовый сектор уже давно одна большая "дата", когда банк принимает решение о том, выдать ли человеку или компании кредит, он анализирует сотни метрик. Я руковожу стримом Data Quality в Газпромбанке и расскажу о том, как мы решаем проблемы при интеграции с внешними источниками информации, какие оценочные метрики используем и как экспериментируем с моделями, прогоняя неверные данные.

Откуда берутся ошибки и чем внешние источники данных отличаются от внутренних

Чем больше данных, тем больше проблем, связанных с их качеством, причем к ошибкам может привести огромное количество причин.  Некоторые — банальные. Например, оператор при вводе персональных данных неправильно перепечатал ФИО из паспорта. Есть ошибки в проектировании систем. Скажем, разработчики проигнорировали требование к длине поля ввода данных. Например, поле «Паспорт выдан» ограничили 35 символами. Понятно, что нужно больше, но в системе сохраняются только первые 35 введенных символов: «ФМС Тверского района по городу Моск». Бывает, не учли, что какие-то данные вообще надо сохранять, а они потом потребовались. Например, пол клиента. Могут возникнуть сложности, связанные с потерей части данных при передаче информации из системы в систему в ходе ETL/ELT-процессов. При этом стоит разделять проблемы с качеством внутренних данных, которые находятся во внутрикорпоративных системах, и внешних, поступающих из сторонних источников. У нас в банке отлажены процессы по улучшению качества данных (КД), поэтому оно постоянно растет и стабильно выше, чем КД из внешних источников.

еще про данные

Хроники безумного стартапа. День 581

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

Начиная традицию обзоров пакетов Глубины, в этой статье мы рассмотрим практику применения пакетов для подключения GPT. Вы увидите, как довольно удобная но крайне абстрактная языковая модель превращаемся в Имитатора: контекстно зависимая личность с узкой функцией. Например, продавец в магазине, который может рассказать о том, что есть на витрине, или бортовой компьютер яхты, который может «слышать» работы всех систем. Или консультант по всему выгруженному из 1c, crm, telegram... сквозной адаптивно расширяемый ассоциативный бот.

Сразу отвечу на вопрос: а почему chatgpt? Чужая программа, чужая интеллектуальная собственность.

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

Погрузиться в глубину

Почему Trino такой быстрый: архитектура оптимизатора SQL-запросов

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

Аналитические системы должны эффективно обрабатывать сложные пользовательские запросы к десяткам и сотням терабайт данных (пета-?). Продвинутый оптимизатор запросов является важнейшим компонентом любого big data движка. В данной статье мы рассмотрим, как устроен оптимизатор запросов в массивно-параллельном аналитическом SQL-движке Trino.

И как же он устроен?

Профилирование данных из СУБД Oracle с помощью DataHub и Great Expectations. Часть 2

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

В первой части статьи мы подключили DataHub к базе данных Oracle, во второй части рассмотрим подключение Great Expectations к DBMS Oracle, сделаем ряд проверок качества данных, а также отправим результаты проверок в DataHub.

Читать далее

Медленно меняющиеся измерения (SCDs) в эпоху облачного хранилища данных

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

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

В этом вопросе скрывается довольно много ответов, поэтому давайте сделаем паузу.

Читать далее

Профилирование данных из СУБД Oracle с помощью DataHub и Great Expectations. Часть 1

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

Всем привет! В данном цикле статей мы поделимся своими результатами исследования по составлению профиля объектов данных, которые хранятся в RDBMS Oracle с помощью DataHub и интеграции с инструментом Great Expectations. В первой части мы поговорим про проблемы, которые возникли в ходе интеграции, а также поделимся найденными решениями для их устранения.

Читать далее