Обновить
85.12

Data Engineering *

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

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

Работа с объемными данными в Python для начинающих

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

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

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

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

Читать далее

Новости

9 подходов, как сделать свой RAG с блекджеком и…

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

Если мы говорим про AI, говорим и про галлюцинации. Эти два понятия, к сожалению, стали неразрывны. И главная задача в 2026 не просто внедрить AI, чтобы потом всем рассказывать о своих успехах и как затраты сократились на 900%. Главная задача – сделать так, чтобы AI не врал. А врать он любит. Он буквально патологический врун! Но его можно понять, ведь наш друг боится показаться несведущим. И если он чего-то не знает о чем его спрашивают, он с высокой долей вероятности начинает привирать.

Давайте разберемся, как сделать так, чтобы AI не врал. И кратко рассмотрим аж 9 способов, а точнее 9 видов архитектур RAG.

Стартуем

Как я перестал писать код для микроконтроллеров вручную и подружил ESP32C6 с AI (Опыт создания платформы)

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

Привет, Хабр! Меня зовут Александр Воробьев. За моими плечами разработка более 100 электронных устройств, пуско-наладка АСУ ТП и множество проектов, где нужно было "прикрутить" датчик к микроконтроллеру, написать веб-интерфейс и заставить это всё работать вместе. Каждый раз — это горы кода, даташитов и времени. В какой-то момент я задался вопросом: а можно ли автоматизировать этот процесс? Чтобы инженер думал над архитектурой, а не над синтаксисом? В этом посте я поделюсь своим путем создания инструмента, который позволяет собирать сложные IoT-системы за минуты с помощью AI-агента, и покажу это на реальных кейсах.

Читать далее

AI и Data engineering: Что реально происходит с профессией?

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

Сразу успокоим читателя: AI не вытеснил data-инженера из рабочего процесса. Наоборот, он сделал эту роль еще более значимой. И в этой статье объясняется, что именно это означает для вас и вашей профессии. Не с точки зрения технологий и инструментов, а с точки зрения изменения зоны ответственности.

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

Читать далее

План аварийного восстановления (Disaster Recovery Plan, DRP) DWH — зачем он нужен и как работает

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

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

Читать далее

Почему HTTP-загрузка в Apache Doris такая быстрая: разбор Stream Load по исходникам

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

Загружал пару лет переписки из Telegram в Apache Doris на ноутбуке. Первый запуск 2 часа. После оптимизации 206 400 сообщений за 5 секунд.

Полез в исходники разобраться, почему Stream Load (HTTP-загрузка данных) в Doris работает так быстро. В статье разбор C++ кода: от HTTP PUT до Segment-файла на диске.

Что внутри:
— 14 шагов одного HTTP-запроса (с диаграммой и кодом)
— StreamLoadPipe: буфер 4 MB с backpressure
— Иерархия записи: LoadChannel → DeltaWriter → MemTable → async flush
— 6 практических выводов: что крутить, что мерить, где смотреть compaction score

Читать далее

Пилот взлететел, полет нормальный

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

А никто не обещал, что на хакатоне будет легко.

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

Читать далее

ClickHouse: MergeTree с нуля

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

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

В этой статье разбираем фундамент ClickHouse — движок MergeTree. Посмотрим, как данные хранятся на диске, чем отличается «парт» от «партиции» и почему индекс в ClickHouse работает не так, как в привычных транзакционных базах вроде PostgreSQL или MySQL.

Читать далее

Паркет: потрогаем parquet файл руками (через Thrift и python)

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

Анализируем структуру файлового формата parquet и читаем метаданные через thrift и python: индексы, страницы и их типы, кодировки (encodings). Статья является хорошим дополнением и иллюстрацией к документации формата parquet. С помощью кода из репозитория любой желающий сможет самостоятельно проанализировать метаданные файла в формате parquet на самом низком уровне.

Читать далее

От «DWH мертвы» до гибридных схем: эволюция Lakehouse за последние три года

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

В 2021 году Databricks ввели в моду термин «lakehouse», и индустрия дружно решила, что это и есть будущее. Аналитики писали восторженные статьи о том, что классические DWH мертвы. Вендоры спешно проводили ребрендинг своих продуктов, а на конференциях обещали единую архитектуру, которая решит вообще любые проблемы с данными.

Некоторые обещания Lakehouse сбылись. Другие оказались лишь маркетингом. А еще всплыли проблемы, которых никто не ожидал.

В этой статье разберем честный опыт внедрения Lakehouse к 2025 году: какие обещания оказались маркетингом, почему расходы на вычисления часто растут вместо экономии, и как на самом деле выглядит прагматичная работа с Delta Lake, Iceberg и Hudi в современных проектах. Что выжило в продакшене, что тихо скончалось, а о чем принято помалкивать?

Читать далее

Hue для домашнего Hadoop: Docker, CSRF и неочевидные грабли

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

Пятая статья цикла о построении CDC-пайплайна с нуля. HDFS и Hive работают, но управлять ими через консоль неудобно. Сегодня поднимаем веб-интерфейс Hue и разбираемся, почему в 2026 году сборка из исходников требует Python 2.7.

Читать далее

Компьютерное зрение и обучение нейросетей: 12 бесплатных ресурсов для погружения в тему

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

Всем привет! Это Данила Ляпин, наставник курса «Специалист по Data Science». Собрал для вас подборку материалов по компьютерному зрению и обучению нейросетей. Здесь вы найдёте полноценные курсы, туториалы, обзорные статьи и справочные материалы. Подборка пригодится как новичкам в ML, так и практикующим инженерам — старался пояснять в описаниях, для кого подойдёт конкретный материал.

Читать далее

Как Uber масштабировал репликацию данных, чтобы ежедневно перемещать петабайты

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

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

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

Для маленьких копирований они убрали лишние запуски отдельных процессов/контейнеров, чтобы не тратить время на старт пустой работы. В итоге пропускная способность репликации выросла примерно в 5 раз и стала стабильнее, а перенос данных в облако пошёл заметно быстрее

Читать далее

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

Хороший, плохой, злой: База данных, data catalog и AI

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

Всех приветствую! Меня зовут Павел, работаю в компании Lasmart. Одно из направлений деятельности всегда было внедрение и развитие DWH. В какой-то момент задумались о том, чтобы оптимизировать прежде всего свою работу в некоторых аспектах. И первым инструментом сделали генерацию бизнес-описания на основе AI. Назвали Datadesc (data + description). Об этом опыте и пойдет речь в этой статье.

Читать далее

Почему AutoML не «магия», а способ выжить в промышленном ML

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

Когда в компании появляется первая ML‑модель, кажется, что самое сложное выбрать алгоритм и добиться хороших метрик. Но настоящий вызов начинается позже: когда моделей становится десятки, затем сотни, а скорость бизнеса начинает требовать обновлений не раз в год, а раз в недели.

В Страховом Доме ВСК мы довольно быстро поняли: без стандартизации и автоматизации машинного обучения масштабирование превращается в хаос. Так у нас появился собственный AutoML‑фреймворк как ответ на реальные боли промышленного ML.

Читать далее

Как гуманитарий за 2 месяца с нуля RAG систему построил, или Парсинг PDF по-хардкору

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

Добрый день. Сегодня я расскажу о том, как я за 2 месяца с полного нуля создал доменную RAG систему с корпусом в 20+ книг.

В статье затрону проблемы парсинга данных (особенно PDF документов, с которыми приходилось иметь дело), чанкинга, создания и индексации эмбеддингов, а также самого интересного – ретривера. Расскажу о latency, трейд-оффах, и сложностях реализации подобных систем локально на ноутбуке (хоть и «игровом») без использования API LLM.

Вся система делалась мной самостоятельно без использования LangChain – это чистый пайплайн от Tesseract, Pillow, MuPDF/Fitz до e5-multilingual, FAISS (+bm25, который я затрону в статье) и Qwen3:8B в качестве LLM.

Читать далее

Почему ваши dbt-тесты врут, или Зачем дата-инженеру статистика

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

Привет! Меня зовут Черняховский Денис и я Data Engineer. Я достаточно подолжительное время работаю с данными и увлекаюсь математической статистикой. Совсем недавно решил поискать в интернете, как другие опытные дата инженеры исследуют качество данных при помощи статистики, и обнаружил, что никак ..... пум пум пум. А далее обнаружил, что проблема уходит корнями гораздо глубже, чем может показаться.

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

Почему инженеру данных стоит использовать статистику?

Разберем, какой базовый набор проверок/валидаций использует типочный дата инженер, да и аналитик тоже:

Типичный чек-лист на проде:
- NOT NULL
- UNIQUE
- REFERENTIAL INTEGRITY
- row_count_today >= row_count_yesterday
- max(updated_at) >= now() – 1h
- revenue > 0

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

А статистика — это вероятностное мышление, статистика всегда покажет проблему и покажет ее первой, если данная проблема имеет место быть.

Почему инженеры не используют статистику в валидации данных?

Статистика «не орёт», когда что-то пошло не так
Пример:
- COUNT(*) = 0 АЛЕРТ
- mean + 3σ уехало «Ну… вроде странно, но не факт»
- В прод-эксплуатации любят чёткие сигналы, а не «подозрения».

Читать далее

Собрать данные с автосимулятора: как Assetto Corsa стала живым датасетом

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

229 заездов, 140 пилотов, 28 часов работы — столько данных мы собрали из Assetto Corsa за три дня SOC Forum 2025.

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

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

Читать далее

Оптимизация обработки данных: как мы перестроили пайплайн с Apache Iceberg и S3

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

Исходная задача и контекст

Перед нами стояла типичная для дата‑инженеров задача: обработать поток Parquet‑файлов с данными о внутренних технических процессах заказчика. Ключевой запрос — извлечь метаданные из таблицы, чтобы в дальнейшем работать с ними быстрее и удобнее.

В качестве основного инструмента мы выбрали Apache Iceberg — проверенный в наших проектах фреймворк для управления метаданными. Изначально пайплайн выглядел так:

Читать далее

Нужно ли обучать YOLO с нуля? Практические выводы

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

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

И именно в этой постоянной гонке я всё чаще задаю себе один и тот же вопрос, а нужно ли вообще обучать модель с нуля?

Когда я говорю «обучать с нуля», я имею в виду именно пустые веса. Не fine-tuning и не до обучение, а старт с нулевой инициализацией (PyTorch-модель без пред обученных параметров или YOLO с отключёнными pretrained-весами).

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

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