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

Data Engineering *

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

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

Основы ETL на примере работы с Superset, Airflow и ClickHouse

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

В этой статье я расскажу, как можно запустить простой ETL-процесс на виртуальном сервере, используя связку Superset, Airflow и ClickHouse. В качестве платформы я взял готовую конфигурацию от Beget, включающую Superset и Airflow из коробки — это позволяет сосредоточиться на логике обработки данных, а не на настройке окружения.

В качестве примера мы подготовим процесс выгрузки и визуализации данных о товарах с сайта Wildberries.

Для извлечения данных мы будем использовать Python-библиотеки selenium и BeautifulSoup — они хорошо подходят для парсинга веб-страниц. Дополнительно применим re для обработки текстовой информации с помощью регулярных выражений.

Читать далее

Новости

Архитектура Neon: как устроен cloud-native PostgreSQL в Kubernetes

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

Привет, Хабр! Меня зовут Алексей Быков, я занимаюсь развитием cloud-native-платформы для обработки данных Arenadata One (AD.ONE). В этой статье мы поговорим о neon-kubernetes-реализации PostgreSQL, её устройстве, особенностях и о том, почему классический подход к Postgres в Kubernetes не позволяет в полной мере использовать преимущества гибкой облачной инфраструктуры.

Тема не новая и активно развивается: уже давно существуют операторы (Zalando, Crunchy Data, CloudNativePG) для автоматизации развёртывания Postgres в Kubernetes. Однако они сохраняют монолитность базы, когда данные по-прежнему жёстко связаны с узлами, а горизонтальное или вертикальное масштабирование требует ручной настройки и остаётся непростым процессом. Подход Neon основан на полном разделении вычислений (compute) и хранилища (storage), что даёт нам возможность взглянуть на использование PostgreSQL в облаке по-новому, как на сервис с возможностью динамического масштабирования, мгновенного запуска инстансов, изолированных веток (branching) и других возможностей без необходимости в сложной инфраструктурной обвязке.

1000 Postgres в одном K8s

Matrix Reloaded: зачем дата-сайентисту линейная алгебра

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

Зачем дата-сайентисту векторы, матрицы и собственные значения? В статье Марии Жаровой, ML-инженера Wildberries и автора канала Easy Data, — простое объяснение, как линейная алгебра помогает понимать, что происходит внутри моделей машинного обучения. Без доказательств и зубрежки: только визуализации, реальные кейсы и примеры из практики.

Читать далее

Автоматизация для всех: как n8n революционизирует рабочие процессы в бизнесе

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

До 2022 года я думал, что автоматизация — это удел только крупных компаний. Но в 2022 году я открыл для себя n8n, и всё изменилось. Теперь я автоматизирую рутинную работу, отчёты и даже целые бизнес-процессы — иногда менее чем за 30 минут. Вот как это работает, что меня удивило и что вы можете попробовать уже сегодня.

Читать далее

Запускаем личный АИ-инфоконвейер: как я строю систему смыслового мониторинга с YAML и GPT

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

Мне приходится тратить много времени на мониторинг арбитража, госзакупок и других документов: PDF на сотни страниц, новости с «водой», RSS при этом отсутствует.

Поэтому я решил разработать open-source инструмент, который сам проверяет сайты, скачивает документы и с помощью локального ИИ (GPT4All / DeepSeek) делает краткую смысловую выжимку по YAML-шаблону.

Он должен работать как конвейер: источник → шаблон → интерпретация → результат. Локально, без облаков. И объединять всё в единую ленту новостей.

Сейчас я дорабатываю MVP — и я хочу понять, какие шаблоны наблюдения наиболее востребованы: законопроекты, торги, релизы, или что-то ещё?

Читать далее

Как мы строим real-time data-пайплайны для анонимных крипто-свапалок: опыт на примере risetocrypto

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

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

Читать далее

Оптимизация инсертов в ClickHouse через Kafka Sink-коннекторы

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

Меня зовут Артем Москальков, я — ведущий инженер данных в Магнит OMNI. В статье я расскажу о том, как мы оптимизировали производительность кластера в ClickHouse.

Частые мелкие вставки данных через Kafka Sink-коннектор серьёзно замедляли работу ClickHouse из-за огромного числа отдельных запросов. Путём настройки параметров потребителя Kafka и включения объединения партиций удалось сгруппировать записи в крупные блоки, что резко снизило нагрузку на базу и многократно увеличило её пропускную способность.

Читать далее

Применение языка Python в инженерной практике. Точность измерений и вычислений. Погрешности и неопределённости

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

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

Погрешность измерения — это отклонение измеренного значения величины от её истинного (действительного) значения. Погрешность измерения является характеристикой точности измерения. Выяснить с абсолютной точностью истинное значение измеряемой величины, как правило, невозможно, поэтому невозможно и указать величину отклонения измеренного значения от истинного. Это отклонение принято называть ошибкой измерения. Возможно лишь оценить величину этого отклонения, например, при помощи статистических методов. На практике вместо истинного значения используют действительное значение величины x_Д, то есть значение физической величины, полученное экспериментальным путём и настолько близкое к истинному значению, что в поставленной измерительной задаче может быть использовано вместо него. Такое значение обычно вычисляется как среднестатистическое значение, полученное при статистической обработке результатов серии измерений. Это полученное значение не является точным, а лишь наиболее вероятным. Поэтому при записи результатов измерений необходимо указывать их точность. Например, запись T = 2.8 \plusminus 0.1 \; s \\; \; P = 0.95 означает, что истинное значение величины T лежит в интервале от 2.7 s до 2.9 s с доверительной вероятностью 95%. Количественная оценка величины погрешности измерения — мера сомнения в измеряемой величине — приводит к такому понятию, как неопределённость измерения. Синонимом термина "погрешность измерения" (англ. measurement error) является "неопределённость измерения" (англ. measurement uncertainty). Таким образом мы плавно и ненавязчиво подошли к названию модуля языка Питон, которому посвящён настоящий туториал - uncertainties (неопределённости).

Читать далее

Алгоритмы для работы с большими данными в Go: HyperLogLog и Count-Min Sketch

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

Алгоритмы для работы с большими данными

Всем привет! Для начала давайте разберем что такое вообще Алгоритмы для работы с большими данными, основная суть алгоритмов для работы с большими данными  — это эффективная обработка огромных объёмов информации при минимальных вычислительных ресурсах (памяти, CPU, диске). Их суть — жертвовать точностью ради скорости и масштабируемости.

Читать далее

Краткий обзор платформы данных Т-Банка

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

Привет, Хабр! Меня зовут Дима Пичугин, и уже семь лет я занимаюсь различными компонентами T Data Platform. Эта статья — результат внутреннего аудита наших инструментов, но я подумал, что она может быть интересна не только нашим аудиторам, но и более широкой аудитории. Enjoy!

Платформа данных в Т-Банке существует более 18 лет и за это время прошла значительный путь эволюции. Она помогает более чем 17 тысячам пользователей извлекать из данных ценную информацию для бизнеса. За последние годы подходы к работе с данными заметно изменились: индустрия постепенно отходила от классических концепций хранилищ данных по Инмону и Кимбеллу в сторону Data Lake, а затем — Lakehouse-архитектур. Вместе с отраслью менялась и наша платформа.

В статье расскажу, как трансформировалась T Data Platform за 18 лет развития, и опишу ее текущее устройство — без погружения в технические детали, но с акцентом на общую архитектуру. Для тех, кому интересны отдельные инструменты или решения, оставлю ссылки на подробные материалы и выступления.

Читать далее

MCP: новая игра на рынке искусственного интеллекта

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

Всё, что нужно знать о Model Context Protocol (MCP)

«Даже самые продвинутые модели ограничены своей изоляцией от данных — они заперты в информационных силосах и легаси-системах».
Anthropic о важности интеграции контекста

Сегодняшние большие языковые модели (LLM) невероятно умны, но находятся в вакууме. Как только им требуется информация вне их «замороженных» обучающих данных, начинаются проблемы. Чтобы AI-агенты действительно были полезны, им нужно получать актуальный контекст в нужный момент — будь то файлы, базы знаний, инструменты — и даже уметь совершать действия: обновлять документы, отправлять письма, запускать пайплайны.

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

Чтобы упростить это, Anthropic представила Model Context Protocol (MCP) — открытый стандарт, предназначенный для того, чтобы связать AI-ассистентов с данными и инструментами, подключая любые источники контекста. MCP был анонсирован в ноябре 2024 года. Тогда реакция была сдержанной. Но сегодня MCP — на волне: он уже обогнал LangChain по популярности и, по прогнозам, скоро обойдёт OpenAPI и CrewAI.

Крупные игроки AI-индустрии и open source-сообщества начали активно поддерживать MCP, видя в нем потенциально революционный инструмент для построения агентных систем на базе LLM.

Читать далее

Российский новый университет подключился к «РосНавыку»

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

9 июля для ректората Российского нового университета (РосНОУ) при поддержке Университетского консорциума исследователей больших данных прошёл семинар сервиса «РосНавык». Этот мониторинговый сервис представила Дарья Олеговна Дунаева, менеджер проекта, ведущий аналитик научно-исследовательской лаборатории прикладного анализа больших данных Томского государственного университета.

Читать далее

Сделал простое сравнение Excel и CSV Онлайн без загрузки — MaksPilot

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

Здравствуйте! Меня зовут Максим — я Senior Data Engineer, и мне нравится максимально автоматизировать все в своей работе. Последние несколько лет я активно перевожу проекты с устаревшей системы SAS на Databricks. Мне часто приходится сравнивать разные таблицы, и у меня уже есть многочисленные наработки для этого.

Однако недавно возникла необходимость сравнить данные в двух файлах Excel или файле Excel и CSV. Поскольку результатом работы скрипта в SAS был Excel, а по умолчанию таблица из Databricks может быть выгружена в CSV. Прототип был на Databricks, с помощью Python можно загружать Excel в таблицы и также сравнивать.

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

Меня вдохновил продукт с открытым исходным кодом PondPilot, который может легко открывать различные файлы таблиц в браузере, но мне не хватало функциональности, и к тому же нужно было понимать синтаксис Duck SQL.

Так родился мой довольно простой, но удобный проект MaksPilot, который на данный момент решает следующие задачи:

Можно сравнивать Excel и Excel или Excel и CSV. Есть поддержка Excel с вкладками.

Читать далее

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

Изучение Python за 2 недели через боль и дедлайн: личная история

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

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

Читать далее

DWH без иллюзий. Три реальных кейса внедрения корпоративного хранилища в ритейле, производстве и госсекторе

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

Рассказываем про индивидуальный подход как основу успешного проекта DWH и делимся реальными кейсами внедрения:

✔️ Кейс 1. Свой коннектор к Oracle: когда Debezium подвел​
✔️ Кейс 2. Миграция с Qlik: DWH между командами (в условиях командной фрагментации)​
✔️ Кейс 3. Бюрократия против DWH: проект в около-госсекторе

Читать далее

RecBole — «комбайн» на PyTorch для любых рекомендаций

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

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

Сегодня разберём RecBole — универсальный фреймворк на PyTorch, который отвечает на три насущных вопроса любого ML-инженера рекомендаций:

Как быстро обкатать десятки алгоритмов (от классического MF до SASRec и KGAT) на собственном датасете — без сотни скриптов?
Как хранить все настройки в одном YAML, а не в трёх сотнях аргументов CLI?
Как получить честное сравнение метрик и сразу вынести лучший чекпоинт в прод?

Рассмотрим подробнее под катом.

Читать далее

Оживляем данные Strava: от парсинга GPX до интерактивной карты на Python и JS

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

Привет, Хабр! Меня зовут Александр, я разработчик и, как многие в IT, стараюсь уравновешивать сидячую работу спортом — в моем случае, это велосипед и бег. И, как многие спортсмены-любители, я пользуюсь Strava.

В этой статье я хочу провести вас «под капот» моего проекта и показать на реальных фрагментах кода, как с помощью Python, щепотки NumPy и капли JavaScript можно построить собственный мощный инструмент для анализа спортивных данных. Это история не только про код, но и про философию открытых данных и желание сделать профессиональные инструменты доступными для всех.

Читать далее

Кластерные A/B-тесты: как победить эффект соседа

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

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

Сегодня мы рассмотрим, как спасаться от «эффекта соседа», рандомизируя не пользователей, а их кластеры в A/B тестах.

У классического AB-теста есть аксиома SUTVA: мол, результат конкретного юзера зависит только от его собственной ветки «treatment / control». Реальность улыбается и кидает в лицо соцсетью, где лайк друга поднимает и твою вовлечённость, курьером, который обгоняет коллег и заражает их скоростью, и cпасибками «приведи друга — получи бонус». Итог — наблюдения больше не независимы.

Внутрикамерный жаргон это называет network interference. Чем плотнее граф связей, тем сильнее лечение «просачивается» за контрольные границы.

Читать далее

16 перемен, которые уже меняют корпоративный подход к генеративному ИИ

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

В 2023 году генеративные ИИ стремительно ворвались в потребительский сегмент, достигнув миллиарда долларов пользовательских расходов за рекордно короткий срок. В 2024-м, по нашим оценкам, потенциал выручки в enterprise-сегменте будет в несколько раз выше.

Пока в прошлом году потребители часами общались с новыми AI-компаньонами или создавали изображения и видео с помощью diffusion-моделей, корпоративное внедрение genAI, казалось, ограничивалось лишь очевидными кейсами и выпуском «GPT-оберток» в виде новых SKU. Скептики задавались вопросами: действительно ли genAI может масштабироваться в enterprise? Разве мы не застряли а трёх одинаковых сценариях? Способны ли стартапы вообще зарабатывать на этом деньги? А вдруг это просто хайп?

За последние несколько месяцев мы пообщались с десятками топ-менеджеров компаний из списка Fortune 500 и других лидеров enterprise-сегмента, а также провели опрос среди ещё 70 компаний, чтобы понять, как они используют genAI, как покупают решения и как планируют бюджеты. Мы были поражены тем, насколько сильно изменилась структура инвестиций и отношение к генеративным ИИ всего за полгода. Хотя у этих лидеров всё ещё остаются определённые опасения по поводу внедрения generative AI, они почти утроили бюджеты, расширили число рабочих кейсов, реализованных на меньших open-source моделях, и начали активно выводить задачи из стадии эксперимента в продакшн.

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

Читать далее

Работа с данными в DuckDB или не pandas’ом единым сыт DS

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

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

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

Читать далее
1
23 ...