Все потоки
Поиск
Написать публикацию
Обновить
81.51

Data Engineering *

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

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

Перенос Orca в расширение Postgres: цели и детали реализации

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

Greengage Database — наш форк Greenplum Database. Основная идея — оставить исходный код открытым и продолжить разработку и совершенствование базы данных. Мы собираемся перенести Greengage Database на более новую версию Postgres, предоставив более богатый набор функций всем пользователям сообщества и нашим клиентам.

Но эта задача сложнее, чем может показаться. Ранее для реализации функций массивно-параллельных вычислений Greenplum Database основная функциональность Postgres была существенно переработана. Таким образом, обновление версии Postgres создавало огромные сложности. Например, переход с Postgres 9 на Postgres 12 потребовал огромных усилий — между мажорными релизами было почти 5 лет разработки.

Имея это в виду, мы начали масштабный рефакторинг ядра Greengage Database. Мы собираемся разделить ядро ​​Postgres и специфичные функции Greengage Database, используя стандартные существующие средства Postgres для расширений.

Читать далее

APL: математика на стероидах, о которой никто не говорит

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

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

Так родился APL — сначала как академический инструмент для описания алгоритмов в книгах (например, в его работе "A Programming Language" 1962 г.), постепенно эволюционировавший в исполняемый язык.

Но причём здесь 2025-й год спросите вы?

Data Science: APL опередил NumPy/Pandas на 40 лет — матричные операции здесь вшиты в ядро.

Обучение: Лучший способ понять SVD или преобразование Фурье — записать их в APL.

Прототипирование: Проверить идею можно быстрее, чем ChatGPT сгенерирует ответ.

Почему об этом мало говорят? 

Читать далее

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

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

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

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

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

Читать далее

ClickHouse не тормозит, но теряет данные. Часть 1 — дедупликация

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

ClickHouse не тормозит, но теряет данные. Набор простых действий с объяснениями, позволяющий избежать потери данных

Читать далее

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

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

Во всевозможных заявлениях, анкетах и обращениях пользователи вводят свои ФИО, адреса и прочие персональные данные в настолько разном формате, что даже человеку бывает сложно понять, где ошибки, а где правильное написание. Например, «Саша Петрович» — это имя с отчеством или фамилия с именем? А, может, это сокращённая форма имени? И кто перед нами — мужчина или женщина?

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

Читать далее

Управление Данных с Elasticsearch: Обучение и Практика

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

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

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

Начать практику

Выбираем архитектуру данных для компании: руководство от дата-инженера

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

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

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

Чтобы справиться с этим, компании переходят на более гибкие подходы к управлению данными. В этой статье разберем четыре наиболее популярные архитектуры: Data Warehouse, Data Lake, Data Lakehouse и Data Mesh. Обсудим, чем они отличаются и какую выбрать под конкретные задачи.

Читать далее

Обнаружение дронов (БПЛА) с использованием ИИ и компьютерного зрения

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

Обнаружение дронов (БПЛА) object-detection с использованием ИИ YOLOv12 и компьютерного зрения OpenCV.

Читать далее

Как приготовить DataVault и не испортить Greenplum

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

Меня зовут Виталий Дудин, я руководитель направления Платформы больших данных в Х5 Digital. Вместе с командой мы строим аналитическую дата-платформу для экспресс-доставки. В этой статье поговорим про то, как она устроена и почему в какой-то момент мы решили всё переделать с нуля. Также немного расскажу про старое хранилище на PostgreSQL, про его преимущества и недостатки. Про то, как устроена новая аналитическая дата-платформа, модель DataVault на Greenplum и про то, как сделать так, чтобы всё работало, а не тормозило.

Читать далее

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

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

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

Читать далее

Sandbox DB: универсальная песочница для погружения в Big Data, аналитику и визуализацию

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

Запускайте PostgreSQL, ClickHouse, Airflow, Superset и другие инструменты одним кликом: учите, экспериментируйте, осваивайте новое!

Читать далее

Apache Flink: использование и автоматическая проверка собственного сериализатора состояния

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

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

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

Весь разбираемый исходный код можно найти в репозитории AlexanderBobryakov/flink-spring. В master-ветке представлен итоговый проект по всей серии. Данная статья соответствует релизной ветке с названием release/11_JacksonEvolvingState. По мере выхода новых материалов на Хабре ссылки на них будут появляться ниже.

Список моих постов про Flink:

Читать далее

Код устареет, принципы — останутся: подборка книг для мидлов и сеньоров в Data Science

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

Привет! Меня зовут Марк Паненко, и я Chief Data Science в Ozon Банке. Сегодня я хочу поговорить не о моделях или фреймворках, а о том, что останется с вами — даже когда Python 3 сменится на Python 4, а PyTorch уступит место новым инструментам. О принципах — ну и о книгах, которые научат видеть их за строками кода.

Это вторая часть книжной подборки — в первой книги для джунов.

Читать далее

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

Apache Kyuubi + Spark: как приручить большие данные

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

Привет, Хабр! Меня зовут Станислав Габдулгазиев, и я архитектор департамента поддержки продаж Arenadata. В этом материале поделюсь впечатлениями от использования Kyuubi — инструмента, который значительно упрощает работу пользователей с SQL, а также затрону вопросы его сравнения с другими решениями для обработки больших данных.

Kyuubi — это сервис, предоставляющий механизмы для распределённого выполнения SQL-запросов поверх различных вычислительных движков, таких как Apache Spark, Hive, Flink и Impala. Он часть дистрибутива Arenadata Hadoop (ADH), который включает эти движки для обработки и анализа данных.

Читать далее

Чем занимаются дата-сайентисты в Авито — полный разбор

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

Всем привет, на связи команда Data Science Авито. В этой статье рассказываем, какие команды есть в нашем департаменте, на конкретных примерах объясняем, над чем работаем и как развиваем бизнес. Также мы подготовили для вас ссылки на стажировки и образовательные программы. 

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

Читать далее

Дилеммы, с которыми вы столкнетесь при разработке биометрических датасетов

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

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

Чтобы выяснить, как на практике выглядит такая разработка датасетов на аутсорсе, мы поговорили с Владиславом Барсуковым, руководителем группы речевых и генеративных данных в Data Light. Он поделился своим взглядом на проблемы в сфере разметки биометрических данных и рассказал о подводных камнях, с которыми приходится сталкиваться в ходе подготовки, проверки, обработки и выгрузки датасетов для алгоритмов ML. Бонусом — интересный кейс с разметкой 60 000 фотографий, пол и возраст на которых проверяли сначала нейросетью, а потом — вручную. 

Читать далее

PondPilot: как мы сделали локальный SQL-редактор в браузере на DuckDB и WASM

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

Любой, кто хоть раз пытался «по-быстрому» проанализировать CSV-файл или прототип БД, сталкивался с выбором из неудобств: открывать в Excel, запускать Jupyter, возиться с pandas, или поднимать Postgres/ClickHouse ради пары запросов. Мне показалось странным, что в 2025 году до сих пор нет удобной zero-setup SQL-песочницы для локальных данных.

Так родился PondPilot - open-source инструмент для анализа данных, работающий прямо в браузере, без серверов и настройки.

Читать далее

Со скоростью кометы: ускоряем Spark без переписывания кода

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

Привет, Хабр! Меня зовут Лев Маковеев. Я младший инженер по обработке данных в компании «Криптонит». В этой статье хочу поделиться с вами результатами небольшого исследования, в ходе которого мы протестировали ускоритель запросов Apache DataFusion Comet и пришли к довольно впечатляющим результатам. Забегая вперёд, отмечу, что в отдельных тестах ускорение было более чем десятикратным!

Читать далее

Шардированный кластер ClickHouse

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

Хочу рассказать, как спроектированы распределённые вычисления в ClickHouse. Вы узнаете, на что влияет схема кластера (и на что не влияет). Расскажу, как можно на ровном месте создать себе проблему при помощи всего одной таблицы Kafka и нескольких матвьюх. Поделюсь опытом про дебаг и оптимизацию SELECT-запросов к Distributed таблицам: поизучаем планы выполнения и поэксперементируем с настройками в блоке SETTINGS.

Читать далее

Опыт разработки на доработанном pgTap

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

В этой статье я поделюсь своим опытом разработки юнит-тестов внутри базы данных под управлением PostgreSQL. А также расскажу, зачем мне потребовалось доработать расширение pgTap.

pgTap – это расширение PostgreSQL для разработки юнит-тестов. Сами тесты, как, собственно, и pgTap, пишутся на plpgSQL, что означает низкий порог вхождения для разработчиков PG.

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

Читать далее