Обновить
128K+

Data Engineering *

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

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

От ручных правил к модели: как автоматизировать субсидии, если нельзя просаживать метрики в A/B

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

Привет! Я Арина Сокова, аналитик в Авито Подработке. Мы отвечаем за то, чтобы смены на платформе закрывались, исполнители и заказчики находили друг друга, а платформа не тратила на продвижение сервиса слишком много. В статье расскажу, что такое субсидии в Авито Подработке, и как мы перешли от ручного назначения субсидий по бизнес-правилам к автоматической системе.

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

Читать далее

Новости

Цифры не сходятся: алгоритм действий, который поможет находить расхождения в отчетах

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

Сообщение в личку в 18:40: «Слушай, а почему у тебя в выгрузке 11 903 заказа, а на дашборде 12 480? Завтра в 11 показываем отчет».

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

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

Читать далее

От CTR до сделок: как в Авито устроены ML-модели монетизации

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

Всем привет! Меня зовут Алина Бабенко, я acting DS-менеджер в Авито. Наша команда занимается моделями монетизации в поиске и рекомендациях: мы оцениваем ожидаемую выручку от действий пользователей и используем её в ранжировании. В этой статье я расскажу, какие модели используем для расчёта ожидаемой выручки, как оцениваем их качество, а также зачем корректируем ставки.

Материал будет полезен дата-сайентистам и тимлидам, которые работают с монетизацией на маркетплейсах и в сервисах для объявлений.

Читать далее

Гадкий NULL

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

Если вы пишете SQL-запросы, то наверняка сталкивались с ситуацией, когда данные исчезают, отчеты не сходятся, а бизнес теряет деньги. И виновник этого — маленькое, но очень коварное слово NULL. В 1974 году Эдгар Кодд, создатель реляционной модели данных, ввел это понятие, чтобы обозначить отсутствие информации. Он хотел, как лучше, но спустя пятьдесят лет NULL продолжает «терроризировать» разработчиков по всему миру. Важно усвоить раз и навсегда: NULL — это не значение. Это состояние неизвестности.

Поэтому:

·       NULL ≠ 0 (ноль - это число);

·       NULL ≠ '' (пустая строка - это строка);

·       NULL ≠ ' ' (пробел - это символ).

Но всегда есть нюансы и исключения. Например, в Oracle INSERT INTO table (col) VALUES ('') запишет NULL. Это поведение отличается от других СУБД и часто становится сюрпризом при миграции.

Читать далее

Данные без противоречий. Связи между полями

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

Привет! Сейчас покажу штуку, которую я довольно долго доводил до ума, и мне кажется, она может пригодиться не только мне.

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

Читать далее

Как вас обманывают биржи: большинство трейдеров думают, что торгуют на рынке

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

Вы открываете Binance / Bybit / OKX и т.п., смотрите на график, нажимаете Buy и думаете, что только что купили актив на рынке

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

И самое неприятное - вы почти всегда играете против участников, которые технически и информационно находятся на другом уровне

Спойлер: у вас нет шансов. Сейчас покажу почему на реальных примерах.

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

Читать далее

FlatAdapter для преобразования иерархических структур

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

Превращаем иерархические структуры в набор плоских строк готовых для импорта в БД

flat-adapter преобразует нетипизированные вложенные mapping в детерминированный список плоских строк. Библиотека умеет приводить scalar-типы, обрабатывать optional-поля, извлекать значения по путям, разворачивать вложенные FlatAdapter-ы и строить декартово произведение списков.

Читать далее

Жители Валдории живут 147 лет, а страна граничит с Германией и Японией одновременно. Исследование MiroFish. Часть 2

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

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

Читать далее

Пилот дата-агента: шаблон брифа, приёмка по 50 вопросам и пять метрик, по которым его закрывают

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

Привет, это команда BI GlowByte.

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

Материал вендора при этом целиком управленческий: ни одной цифры, ни одного шаблона. Поэтому мы взяли его каркас (пять этапов пилота, владелец сценария, стартовая команда) и развернули в то, чего в оригинале нет. Что у нас получилось: шаблон брифа, процедура приёмки, точки проверки человеком и метрики, по которым через два месяца решают, оставлять сценарий или закрывать. Надеемся, что вам будет полезно.

Читать далее

Lightdash — BI, который живёт внутри вашего dbt‑проекта

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

Я — аналитик данных в команде BIGDATAHOUSE, и на всех проектах трансформацию данных реализую через dbt — де‑факто стандарт, в качестве BI в основном использую Superset.

Бизнес‑логика в таком стеке оказывается разбита по двум местам: одна её часть оседает в dbt, другая описывается в BI. Со временем эти две части неизбежно расходятся, и отследить такие расхождения становится всё сложнее.

Из профессионального интереса изучая альтернативные BI‑платформы, я наткнулся на Lightdash. Он обещает закрыть эту и ряд других проблем.

Читать далее

Как быстро джойнить датафреймы с геоданными на Apache Sedona

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

Привет, Хабр! Я Павел Молчанов, Data Engineer из группы обработки гео- и медиаданных Big Data компании МТС Web Services. Наш продукт «ГеоЭффект» занимается расчетами различных геостатистик на основе телеком-данных (например, по туризму).

У нас есть ежедневно обновляемая инфраструктурной командой витрина-источник с событиями (точками нахождения абонентов) на основе мобильной сети по всем регионам присутствия МТС. За сутки на каждого абонента приходится в среднем порядка 200 геособытий, общий объем данных в витрине — около 11 млрд записей в сутки. Однако в витрине-источнике не было привязки геособытий к административно-территориальной информации «Регион РФ / район», что критически важно нам как продуктовой команде, решающей бизнес-кейсы в интересах заказчиков. 

Отсюда и появилась задача — дообогатить витрину дополнительными атрибутами на основе координат геособытий. Так что в этом материале по мотивам доклада для Highload++ поделюсь, как мы это сделали, а еще ускорили джойн датафреймов с геоданными.

Пара слов по технологическому стеку: сейчас мы активно проводим подготовительные работы по переходу на Data LakeHouse, но пока что основная рабочая лошадка — Spark на старом добром Hadoop-кластере с HDFS и Hive Metastore. Так что повествование будет идти в контексте технологий Spark on YARN + Sedona + HDFS + Hive.

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

Релиз DataSafeS3 v1.3.0

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

Что делать, если Docker Desktop и L2 multicast живут в разных мирах, а доказать failover кластера перед тегом v1.3.0 всё равно нужно? Под капотом: SSH-контейнеры, unicast keepalived, 9 PASS / 0 SKIP и пара неожиданных багов с Alpine и CRLF.

Заглянуть под капот

«Вам может это понравиться»: на Урбан ML разобрались, почему рекомендательные системы перестали предлагать похожее

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

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

Делюсь инсайтами с конференции «Урбан ML», которая прошла 2 августа в Loft Hall (ЗИЛ) в Москве. Эксперты по Data Science поделились, от чего отказываются современные рекомендательные системы, какие проблемы остаются нерешенными и куда движется отрасль.

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

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

Служебный e-mail вместо рекламной СМС: как мы проверяем разбор решений ФАС

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

Когда-то я всерьез занялся изучением темы согласий на рекламу и обнаружил, что Федеральная антимонопольная служба (ФАС) ведет открытый реестр дел. Это супер ценные данные для меня как исследователя, но они совсем не структурированы и анализировать их можно только вручную перечитывая каждое дело. Меня это не очень устроило, поэтому я сделал общедоступную карту дел ФАС и хочу рассказать о том, как она работает. Надеюсь, кому-то будет полезным.

Читать далее

Apache Iceberg: Индиана Джонс и Каталог судьбы

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

parquet - данные лежат в открытом формате - казалось бы, бери кто хочешь. Но есть неприметный артефакт, от которого зависит, увидите вы таблицы или мусор из файлов и кого вообще к ним подпустят. Это каталог. Разбираю просто, что такое Apache Iceberg, зачем ему каталог - и почему новость про Polaris важнее, чем кажется. В продолжение анонса новостей…

Читать далее

Homelab для дата инженерии из игрового ПК

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

Данная статья наврятли является гидом по созданию домашней лаборатории, скорее это некое описание намерений.

Читать далее

Всё что нужно знать про DuckLake

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

Когда вышел DuckDB 1.0, я написал статью Всё что нужно знать про DuckDB. Теперь вышел DuckLake v1.0 — LakeHouse-формат из той же экосистемы. Это отличный повод разобраться, как он устроен и как его можно использовать в production-сценариях.

В этой статье разберём, какую проблему решает DuckLake, чем его архитектура отличается от Apache Iceberg и как поднять DuckLake локально или в окружении, приближённом к production: PostgreSQL для каталога метаданных и S3/MinIO для файлов данных.

Читать далее

Гипотеза о Языке Мышления как альтернатива Искусственному Интеллекту

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

50 лет назад была выдвинута гипотеза о Языке Мышления. Наверняка вы про нее не слышали – а зря. Классная штука, которая может перевернуть (и уже переворачивает) представление о возможных методах обработки информации, воплощенных в технологиях.

Погрузиться

Внутри ИИ‑Напарника: как работает оркестр агентов в ритейле

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

Всем привет! Это Алексей из GlowByte. В прошлой статье я говорил о том, почему категорийный менеджер в большой сети часто чувствует себя одиноким среди сотен дашбордов: систем у него избыток, а компетентного собеседника, который был бы в его контексте и без своей повестки, рядом нет. Решение, которое мы GlowByte называем мультиагентной платформой, закрывает именно эту потребность. В новой статье разберём, что под капотом у такого решения и почему ИИ‑напарник ближе к партнёру по бизнесу, чем к очередному чат‑боту.

Читать далее

Apache Spark и компиляция пользовательских функций UDF на Java в рантайме

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

Привет, Хабр! Меня зовут Михаил Сичалов, я руководитель проектов и эксперт практики Applied Intelligence в компании Axenix.

Это вводная статья из цикла работ, посвящённых реальным сценариям использования Apache Spark и сопутствующим техническим нюансам, с которыми я столкнулся за последнее десятилетие работы над проектами в области Data Engineering. Я решил систематизировать и переосмыслить свой опыт работы с этим фреймворком и поделиться с сообществом интересными и нестандартными аспектами, освоенными на практике.

Несмотря на выразительность модуля Spark SQL с точки зрения описания преобразований над данными, зачастую возникает необходимость в создании пользовательских функций (UDF). Для этого в Apache Spark есть целое подмножество API, с помощью которого можно реализовать пользовательскую функцию произвольной сложности. Но что делать в случае, когда код функции становится доступным только в рантайме, а Spark используется в связке с Java API?

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

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