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

Big Data *

Большие данные и всё о них

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

Искусство ETL. Пишем собственный движок SQL на Spark [часть 7]

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров2.4K
В предыдущих сериях (FAQ 1 2 3 4 5 6 ) мы весьма подробно рассмотрели, как написать на Java собственный интерпретатор объектно-ориентированного диалекта SQL поверх Spark RDD API, заточенный на задачи подготовки и трансформации наборов данных.

В данной части поговорим о том, как добавить в собственный диалект SQL поддержку процедур. Например,


-- library.tdl

CREATE PROCEDURE dwellTimeByMode(@signals, @target, @outPrefix,
  @modes = ['pedestrian', 'non_pedestrian', 'car', 'bike'],
  @groupid='cell10') AS BEGIN
    LOOP $mode IN $modes BEGIN
        SELECT * FROM $signals INTO "{$signals}/{$mode}" WHERE mode=$mode;

        CALL dwellTime(@signals_userid_attr=userid,
            @target_userid_attr=userid,
            @target_grouping_attr=$groupid
        ) INPUT signals FROM "{$signals}/{$mode}", target FROM $target
        OUTPUT INTO "{$outPrefix}/{$mode}";

        ANALYZE "{$signals}/{$mode}";
        ANALYZE "{$outPrefix}/{$mode}";
    END;
END;

--- ... --- ... --- ... ---

-- script.tdl

CALL dwellTimeByMode(@signals=$this_month, @target=$population, @outPrefix=$this_month);

Нафига это надо?


Ну, допустим, у нас уже есть некоторое количество SQL ETL кода, наработанного за время эксплуатации инструмента в продакшене, и становится заметно, что значительная часть скриптов на разных проектах совпадает, и из раза в раз повторяется. Логично было бы вынести все эти совпадающие куски в библиотеку, чтобы держать в одном месте, да и вызывать с какими надо параметрами, когда надо. Вот прям как на примере выше.

Читать дальше →

Data Lineage из топора

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


Статья навеяна удачной реализацией Data Lineage «на коленке». Рассматривается случай, когда в окружающем корпоративном ландшафте Apache Atlas, Datahub или Amundsen еще не подвезли (и неизвестно, будет ли, и если будет, то когда) — а посмотреть от таблицы назад к источниками или вперед к потребителям от конкретной таблицы хочется прямо сейчас. Условия, в которых это удалось сделать, могут не повториться в других случаях, но сам кейс наверняка будет интересен.
Разные самопальные data lineages

Мгновенный доступ к данным для 1 000 + директоров с помощью ИИ. Кейс ритейлера

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

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

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

В компании был реализован механизм рассылок отчетности, однако он не удовлетворял всем требованиям.

Читать далее

MCP — новый кирпичик в фундаменте AI-разработки

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

Одна из горячих тем в области AI-кодинг-тулов и developer tooling — протокол MCP (Model Context Protocol), представленный Anthropic в ноябре 2024 года. Он стремительно набирает популярность: AI-модели и инструменты для разработчиков активно внедряют его.

Аналогия для объяснения MCP — это как «порт USB-C для AI-приложений»: он создает универсальную точку расширения, через которую LLM и девтулы могут интегрироваться друг с другом, а также с базами данных, тикетинг-системами и т. д. Концепция начинает набирать популярность и в других областях, но MCP изначально создавался как способ расширить функциональность девелоперских IDE — таких как Claude Desktop, Claude Code, VS Code, Cursor, Windsurf и других. Сегодня мы сосредоточимся именно на этом применении, разобрав:

1. Что такое MCP? Практический пример. Раньше мне приходилось использовать отдельный инструмент, чтобы делать запросы к базе данных в production-приложении. С MCP я могу «разговаривать» с базой данных прямо из IDE — это действительно меняет правила игры!

2. Происхождение MCP.  Два инженера из Anthropic — Дэвид Сориа Парра и Джастин Спар-Саммерс — реализовали MCP, решая собственную проблему: они хотели, чтобы Claude Desktop лучше работал с девтулзами.

3. Чтобы понять MCP, нужно понимать Language Server Protocol (LSP). Многие базовые идеи MCP вдохновлены подходом Microsoft к упрощению интеграции языковой поддержки в IDE.

Читать далее

Развёртывание боевого кластера Cassandra. Часть 2

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

Это продолжение цикла, рассказывающего о практике развёртывания производственного кластера Cassandra. В первой части мы начали продвигаться вот по такому плану:

1. Анализ рабочей нагрузки и требований
2. Разработка схемы данных
3. Настройка хостовых машин
= ВЫ НАХОДИТЕСЬ ЗДЕСЬ =
4. Настройка конфигурации Cassandra
5. Настройка топологии кластера
6. Подключение Prometheus Cassandra Exporter
7. Подключение Prometheus Node Exporter
8. Вывод всех метрик в Grafana
9. Проведение нагрузочного тестирования
10. Дополнительный тюнинг по результатам теста

Продолжим?

Читать далее

ИИ-магия: фронтенд, который думает

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

Автор: Кристина Паревская, Neoflex

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

Погружаемся в тему пожаров и возгораний

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

Такие компании, как Johnson Controls, Honeywell International, Inc., GENTEX CORPORATION, Siemens, Robert Bosch GmbH, Halmaplc, Eaton, Raytheon Technologies Corporation уделяют свое внимание исследованиям в области распознавания возгораний объектов и предлагают свои решения по устранению пожаров. Этими компаниями движут желание помочь людям, быстрое развитие беспроводных технологий и развитие строительной отрасли, охватившей весь мир.

Читать далее

Собираем MVP product search: дообучение E5 и веб-сервис для сравнения поисковых выдач

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

Что важнее: создать продукт, или доставить его до пользователя? Оба этапа необходимы. Сегодня обсудим второй. Как нам построить поисковую e-com систему.

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

Быстро соберем поисковой MVP-сервис. Дообучим модель E5 на реальных данных от Amazon. Определим метрики качества и сравним BM25, pretrain E5 и fine-tune E5. Так же взглянем глазами с отладочной информацией и проанализируем изменения поисковых выдач.

И под конец обсудим каких технологий еще не хватает и можно добавить, если возникают соответствующие трудности.

Погрузиться в семантический поиск →

200 000+ снимков мусора: что мы узнали о датасетах

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

В нашей работе хватает безумных задач. Мы создали первого в России цифрового PR-менеджера, разрабатывали виртуальную примерочную и делали много чего еще, о чем не всегда можно рассказать. Но когда мы взялись за создание ИИ-сортировщика мусора MARQUS, поняли — будет совсем жестко.

Не так давно мы создали систему сортировки ТКО (Твердых коммунальных отходов) MARQUS, которая делит отходы на бумагу, металл, пластик, стекло и т.д. Система использует искусственный интеллект и специальные сенсоры, чтобы распознавать различные типы отходов прямо на конвейере и направлять их в соответствующие секции для переработки.

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

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

Читать далее

Зачем банку ещё одна ALM-система

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

Хабр, привет! В этой статье расскажем, как команда банка ВТБ построила собственную аналитическую систему на базе открытых технологий и с использованием решений Arenadata. Мы рассмотрим архитектуру платформы, разберём её сильные и слабые стороны, а также заглянем «под капот» — покажем, как устроены процессы внутри банка и почему ВТБ решил идти своим путём, а не использовать готовые вендорские системы.

Читать далее

База про юнит-тесты в C# на xUnit v3

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

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

Сегодня разберёмся с юнит‑тестами в C# на основе xUnit v3 — библиотеки, которая стала практически стандартом де‑факто в.NET‑среде.

Почему именно xUnit? Всё просто: его создали Джим Ньюкирк и Брэд Уилсон — разработчики NUnit. Они решили выкинуть всю архаику вроде [SetUp], [TearDown] и прочих рудиментов и построили фреймворк с нуля, строго под TDD. Весной вышла xUnit v3 2.0.2, в которой завезли Assert.MultipleAsync, полностью обновили сериализацию. А в.NET 9 уже штатно продвигается Microsoft.Testing.Platform (MTP) — сверхлёгкий тестовый рантайм, с которым xUnit v3 работает прямо из коробки. Короче говоря, это самый нативный выбор под.NET 9 на сегодня.

Читать далее

Как мы обучали ML-модель для выявления подозрительных ставок в системе DoseSports

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

Привет, Хабр. Меня зовут Виктор, я Big Data Engineer в antifraud-направлении. В этом посте хочу рассказать о том, как мы выстраивали процесс обнаружения подозрительных паттернов поведения в ставках на зарубежной БК-платформе DoseSports — без воды и маркетинга. Только архитектура, фичи, модели и выводы.

Читать далее

Spark on Kubernetes: наш путь к автоматизации через кастомный оператор Airflow

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

Всем привет! Меня зовут Дмитрий Третьяков, я ML Engineer в компании «Лента». Мы регулярно запускаем PySpark-приложения в Kubernetes-кластере, используя Airflow. Этот процесс важен для нашей ежедневной работы с данными, но в какой-то момент мы столкнулись с тем, что стандартный подход через SparkKubernetesOperator стал сдерживать развитие: не хватало гибкости, возникали сложности в сопровождении и процесс настройки был излишне сложным для разработчиков.

Читать далее

Как алгоритм Recovering Difference Softmax (RDS) делает рекомендации и уведомления точнее и эффективнее

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

Алгоритм Recovering Difference Softmax (RDS) — полноценный подход к оптимизации уведомлений и контента для повышения вовлеченности пользователей. Алгоритм выбирает единственно лучший вариант, удерживая пользователей дольше и возвращая их чаще.

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

Как RDS превращает простые сигналы в рост вовлечённости? Разбираемся в статье!

Читать далее

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

Офлайн А/Б тесты в ресторанах фастфуда. Часть 2: Анализ и интерпретация результатов A/B-тестов

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

В первой части «Планирование и верификация офлайн A/B-тестов» мы разобрали, как подготовить данные и убедиться, что группы для эксперимента сопоставимы. Мы провели тщательную верификацию: сравнили метрики, проверили распределения и постарались исключить искажения ещё до старта.

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

Если первая часть была про чистоту эксперимента, то вторая — про силу аргументов.

Читать далее

Офлайн А/Б тесты в ресторанах фастфуда. Часть 1: Планирование и верификация офлайн A/B-тестов

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

Привет! Меня зовут Елена Малая, я занимаюсь офлайн A/B-тестами в Бургер Кинг Россия.

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

Эта статья — о том, как я выстраивала методологию A/B-тестирования в условиях оффлайн-ритейла. Она для тех, кто работает с данными не в идеальном вакууме, а на земле — в ресторанах, ритейле, логистике.

Здесь не будет учебных формул — только рабочие подходы, предостережения и лайфхаки, собранные через тесты, ошибки и (маленькие) победы. Если вы, как и я, когда-то поняли, что "по книжке" оно не взлетает — welcome.

Читать далее

Потоковая фильтрация CommonCrawl с Apache Spark для обучения языковых моделей

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

Для обработки Common Crawl на терабайтных объёмах широко используются архитектуры обработки данных, построенные на фреймворках вроде Apache Spark. Благодаря распределённой обработке данных и структурированному стримингу Spark позволяет разработчикам создавать масштабируемые пайплайны, применять логику фильтрации и формировать итоговые очищенные корпусы для обучения. Эта статья перевод моей статьи на medium.com, я хотел рассматреть, как на практике формируются обучающие наборы из Common Crawl (например, в проектах C4, CCNet, OSCAR, GPT-3, BLOOM, Falcon и др.), а затем показать пример Spark Streaming-приложения, который я написал и опубликовал в GitHub. Мы также приводим пример подхода, реализованного в DeepSeek, для фильтрации математического контента — узкоспециализированная задача, которая способна дать существенный прирост в качестве моделей.

Читать далее

Что такое Ansible и как применяется в DWH-проектах? Сравнение Ansible с Puppet, Chef, SaltStack

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

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

Сравниваем Ansible с другими инструментами для автоматизации управления инфраструктурой: Puppet, Chef, SaltStack.

Читать далее

Погружение в ClickHouse: делаем первые и успешные шаги

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

Привет! Меня зовут Андрей Дорожкин, и я руковожу командой администрации баз данных в Hybrid. В этом материале я поделюсь опытом работы с ClickHouse — колоночной БД, разработанной специально для аналитических запросов, которая позволяет получать результаты в разы быстрее традиционных решений. Также я подсвечу, как устроен этот продукт, чем он отличается от реляционных баз данных, и в каких сценариях его использование может дать бизнесу реальное преимущество.

Пара слов о компании Hybrid. Мы — независимая AdTech-экосистема с собственным стеком технологий и решений для любых рекламных целей. Развиваем собственные технологии благодаря in-house отделу разработки, который каждый день работает над их улучшением. ClickHouse — инструмент, который мы выбираем для хранения данных за высокую скорость обработки запросов, эффективное сжатие данных и масштабируемость.

Читать далее

DWH: История поиска альтернативы PostgreSQL и Snowflake. Часть 1

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

Выбор облачного хранилища данных — задача не из тривиальных, особенно когда речь идёт о миллиардах полуструктурированных записей, геоаналитике и требованиях к отклику в доли секунды. В Agritask мы провели масштабное исследование: протестировали популярные DWH-платформы на реальных кейсах, сравнили производительность, параллелизм и затраты. В первой части делимся подходом к оценке, техническими требованиями и тем, почему PostgreSQL и Snowflake перестали справляться с нашими задачами.

Читать далее

Интеллектуальный фотофиниш

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

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

Есть, например, мнение, что если бы Саутгейт-игрок забил тот пенальти в 1996, то, возможно, стиль сборной Англии при Саутгейте-тренере был более смелым.

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

Я довольно много играю в спортивное "Что? Где? Когда?", поэтому хочу сделать заход в этой области.

Читать далее

Вклад авторов