Data Engineering в Яндекс Такси
посмотрел запись доклада Евгения Ермакова —архитектора Data Management Platform Яндекс. Делюсь заметками и слайдами.
Ссылка на видео и презентацию на сайте митапа
https://deordie.com/meetups/01/
#data_video
посмотрел запись доклада Евгения Ермакова —архитектора Data Management Platform Яндекс. Делюсь заметками и слайдами.
Ссылка на видео и презентацию на сайте митапа
https://deordie.com/meetups/01/
#data_video
DE or DIE
DE or DIE #1
DE or DIE – митап, сделанный дата инженерами для дата инженеров.
Хранилище данных разделено на слои:
1. RAW — собрать всё, что даёт источник. Система сбора автоматизирована и нечувствительная к изменению доступных полей (кроме первичных ключей)
2. ODS — стандартизировать, привести к единому формату
3. DDS — сохранить и версионировать данные
4. CDM — предоставить доступы, витрины данных, оптимизация доступа (вход в данные для аналитиков)
5. REP — проанализировать; отчётные срезы.
1. RAW — собрать всё, что даёт источник. Система сбора автоматизирована и нечувствительная к изменению доступных полей (кроме первичных ключей)
2. ODS — стандартизировать, привести к единому формату
3. DDS — сохранить и версионировать данные
4. CDM — предоставить доступы, витрины данных, оптимизация доступа (вход в данные для аналитиков)
5. REP — проанализировать; отчётные срезы.
Подходы к проектированию:
1. Никакого — полная денормализация; неустойчиво к изменению.
2. Звезда и снежинка — нормализация; неудобно перестраивать
3. Data Vault — строгая нормализация
4. Anchor modeling — ультра нормализация (прим. как в Авито — https://news.1rj.ru/str/rockyourdata/1604)
1. Никакого — полная денормализация; неустойчиво к изменению.
2. Звезда и снежинка — нормализация; неудобно перестраивать
3. Data Vault — строгая нормализация
4. Anchor modeling — ультра нормализация (прим. как в Авито — https://news.1rj.ru/str/rockyourdata/1604)
люди и роли
между «бизнесом» и дата инженером есть «партнёр по данным» — по сути это проджект менеджер, который переводит с языка бизнеса на язык даных. А «под» дата инженером (ближе к ядру данных) есть разработчик платформы. Над всем этим стоит Архитектор — в данном случае это Евгений Ермаков.
между «бизнесом» и дата инженером есть «партнёр по данным» — по сути это проджект менеджер, который переводит с языка бизнеса на язык даных. А «под» дата инженером (ближе к ядру данных) есть разработчик платформы. Над всем этим стоит Архитектор — в данном случае это Евгений Ермаков.
Всё автоматизируется.
(Особенно мне сложно представить сбор данных, нечувствительный к изменению полей и последующий разбор этих [нестабильных] полей по объектам внутреннего хранилища)
Любой менеджер в Яндексе должен уметь «программировать» — при необходимости залезьть под капот и понять что там происходит.
(Особенно мне сложно представить сбор данных, нечувствительный к изменению полей и последующий разбор этих [нестабильных] полей по объектам внутреннего хранилища)
Любой менеджер в Яндексе должен уметь «программировать» — при необходимости залезьть под капот и понять что там происходит.
джуниор аналитик адаптируется в Авиасейлз практически в прямом эфире
https://news.1rj.ru/str/junioranalyst/23
Пишет про учёбу, поиск работы и теперь вот новую работу аналитиком в известной компании. А ещё интересные профильные ссылки.
https://news.1rj.ru/str/junioranalyst/23
Пишет про учёбу, поиск работы и теперь вот новую работу аналитиком в известной компании. А ещё интересные профильные ссылки.
Telegram
Главный инженер
Работа учит смирению.
С утра (ну как с утра, мой рабочий день сегодня начался почти в 12) пришёл запрос - посчитать сколько наших аффилиатов (пользователи ТП) зарегистрированы в экскурсионных офферах (компании, чьи услуги продвигают аффилиаты), и сколько…
С утра (ну как с утра, мой рабочий день сегодня начался почти в 12) пришёл запрос - посчитать сколько наших аффилиатов (пользователи ТП) зарегистрированы в экскурсионных офферах (компании, чьи услуги продвигают аффилиаты), и сколько…
Отличия ML и DS
Глеб Синяков — аналитик-разработчик в Тинькофф — обсудил с ребятами из Moscow Python разницу в названиях профессий.
⁃ почему специалистов по машинному обучению называют дата саентистами?
пошло от того, что 5 лет назад «дата саентист» умел только в математику. К нему приставляли отдельного разработчика — «переводчика на питон». Плюс к этому бэкэндера, который пытается из моделей делать продукт.
Постепенно всё пришло к тому, что весь спектр задач работы с данными надо уметь самому. Разделение ролей идёт на больших проектах и больших данных.
→ то есть не Data Scientist, а ML Engineer ←
- код в Jupyter notebooks — боль разработчика: сама среда располагает к беспорядочному коду, где даже думать не хочется о модульности и правильном коде.
Как бороться? Писать законченные изолированные модули в PyCharm и импортировать их в ноутбуки. И уже там открывать файлы и тестировать работу.
⁃ Как потом хранить эти ноутбуки в Git? Складывать всё в отдельную ветку и потом пушить одним жирным коммитом.
⁃ Минимальный продукт от ML инженера — это pip-install-ируемый модуль, чтобы любой другой человек мог его включить и запустить на своей машине.
Подкаст в iTunes и Overcast
#data_podcast
Глеб Синяков — аналитик-разработчик в Тинькофф — обсудил с ребятами из Moscow Python разницу в названиях профессий.
⁃ почему специалистов по машинному обучению называют дата саентистами?
пошло от того, что 5 лет назад «дата саентист» умел только в математику. К нему приставляли отдельного разработчика — «переводчика на питон». Плюс к этому бэкэндера, который пытается из моделей делать продукт.
Постепенно всё пришло к тому, что весь спектр задач работы с данными надо уметь самому. Разделение ролей идёт на больших проектах и больших данных.
→ то есть не Data Scientist, а ML Engineer ←
- код в Jupyter notebooks — боль разработчика: сама среда располагает к беспорядочному коду, где даже думать не хочется о модульности и правильном коде.
Как бороться? Писать законченные изолированные модули в PyCharm и импортировать их в ноутбуки. И уже там открывать файлы и тестировать работу.
⁃ Как потом хранить эти ноутбуки в Git? Складывать всё в отдельную ветку и потом пушить одним жирным коммитом.
⁃ Минимальный продукт от ML инженера — это pip-install-ируемый модуль, чтобы любой другой человек мог его включить и запустить на своей машине.
Подкаст в iTunes и Overcast
#data_podcast
Apple Podcasts
Moscow Python Podcast. Профессии в ML и DS (level: All)
Выпуск подкаста · Moscow Python: подкаст о Python на русском · 26.09.2020 · 40 мин.
Configuring Google Colab Like A Pro
Статья с говорящим за себя названием. Написали как сохранять файлы на свой Гугл Драйв, законнектить GitHub, запускать локальный Jupyter на ядрах Colab и даже настроить Телеграм-бот.
Полное содержание статьи:
- Make sure you don’t get disconnected
- Mount your drive for fast, responsible access to your datasets
- Use wget to download datasets to your drive
- Use Gdown to grab publicly available Google Drive files
- The best way to connect your Github
- Remote in through VSCode using SSH and ngrok
- How to Forward Ports from Colab to your computer
- Run Tensorboard in Colab or in the browser
- Run a Jupyter Notebook server on Colab and access it locally
- Use fastprogress when your code will take a while
- Setup a telegram bot to update you during setup and training
- Some paid addons worth considering
- Addendum and Extras
https://medium.com/@robertbracco1/configuring-google-colab-like-a-pro-d61c253f7573
Статья с говорящим за себя названием. Написали как сохранять файлы на свой Гугл Драйв, законнектить GitHub, запускать локальный Jupyter на ядрах Colab и даже настроить Телеграм-бот.
Полное содержание статьи:
- Make sure you don’t get disconnected
- Mount your drive for fast, responsible access to your datasets
- Use wget to download datasets to your drive
- Use Gdown to grab publicly available Google Drive files
- The best way to connect your Github
- Remote in through VSCode using SSH and ngrok
- How to Forward Ports from Colab to your computer
- Run Tensorboard in Colab or in the browser
- Run a Jupyter Notebook server on Colab and access it locally
- Use fastprogress when your code will take a while
- Setup a telegram bot to update you during setup and training
- Some paid addons worth considering
- Addendum and Extras
https://medium.com/@robertbracco1/configuring-google-colab-like-a-pro-d61c253f7573
Medium
Configuring Google Colab Like A Pro
How to Do Research Quality Machine Learning on a Budget
#data_podcast
⁃ Запуск Завтра с Давидом Яном (ABBY, Yva)
от создания словаря для перевода в 1989 году до создания автономного дома со своим сознанием. Где-то между этим был Fine Reader, ABBY и сервис для прогнозирования выгорания сотрудников по переписке
⁃ Habr Special с Виктором Кантор, МТС
что такое биг дата, кто её может применять и что она умеет
⁃ Data Alone Is Not Enough: The Evolution of Data Architectures — a16z венчурные инвесторы из долины обсуждают в общих чертах историю и подходы работы с данными
⁃ The Rise of the Analytics Engineer with Claire Carroll
сложно быть «просто» аналитиком, когда постоянно очищать данные и приводить их к единому формату. Так появляется профессия Analytics Engineer (это не ещё одно название Data Engineer — это другое)
⁃ Запуск Завтра с Давидом Яном (ABBY, Yva)
от создания словаря для перевода в 1989 году до создания автономного дома со своим сознанием. Где-то между этим был Fine Reader, ABBY и сервис для прогнозирования выгорания сотрудников по переписке
⁃ Habr Special с Виктором Кантор, МТС
что такое биг дата, кто её может применять и что она умеет
⁃ Data Alone Is Not Enough: The Evolution of Data Architectures — a16z венчурные инвесторы из долины обсуждают в общих чертах историю и подходы работы с данными
⁃ The Rise of the Analytics Engineer with Claire Carroll
сложно быть «просто» аналитиком, когда постоянно очищать данные и приводить их к единому формату. Так появляется профессия Analytics Engineer (это не ещё одно название Data Engineer — это другое)
Apple Podcasts
Как искусственный интеллект предсказывает поведение людей, экономит бизнесу миллионы долларов и заменяет нам домашних животных
Выпуск подкаста · Запуск завтра · 22.10.2020 · 56 мин.
Матемаркетинг 2020 — главная конференция по аналитике и данным
в 2019 году я учился на аналитика и посмотрел, наверное, все релевантные записи с Матемаркетинга 2018.
Хотел в том году пойти вживую, даже почти купил билет, но потом как-то постеснялся заявляться туда простым студентом без опыта :-)
Тогда придумал себе «бонус» — с первой зарплаты по новой профессии аналитика обязательно куплю себе билет на следующий Матемаркетинг. Таким образом, в марте 2020 года я оказался обладателем билета на конференцию в ноябре.
С тех пор много что поменялось: конференция теперь в онлайне и растянулась на всю неделю; а главное — в программе появился целый день по Data Engineering. Осталось понять, как смотреть 4 потока лекций одновременно)
Ребята сделали свою платформу с лекциями внутри — все лекции прошлых годов уже там.
Присоединяйтесь.
https://matemarketing.ru/
в 2019 году я учился на аналитика и посмотрел, наверное, все релевантные записи с Матемаркетинга 2018.
Хотел в том году пойти вживую, даже почти купил билет, но потом как-то постеснялся заявляться туда простым студентом без опыта :-)
Тогда придумал себе «бонус» — с первой зарплаты по новой профессии аналитика обязательно куплю себе билет на следующий Матемаркетинг. Таким образом, в марте 2020 года я оказался обладателем билета на конференцию в ноябре.
С тех пор много что поменялось: конференция теперь в онлайне и растянулась на всю неделю; а главное — в программе появился целый день по Data Engineering. Осталось понять, как смотреть 4 потока лекций одновременно)
Ребята сделали свою платформу с лекциями внутри — все лекции прошлых годов уже там.
Присоединяйтесь.
https://matemarketing.ru/
matemarketing.ru
MM’25 — Конференция для аналитиков, performance-маркетологов и product-менеджеров
Крупнейшая конференция по маркетинговой и продуктовой аналитике в России, СНГ и Восточной Европе. Даты: 20–21 ноября 2025, онлайн-день — 11 ноября.
Х5 запустили школу аналитиков
… или «13 коллег Валерия Бабушкина»
13 — количество преподавателей из числа сотрудников Х5.
Продолжительность 8-9 месяцев.
Школа будет «бутиковая» — один поток за раз, без паралельных потоков с запуском каждый месяц.
В таком формате смогут обучаться 40 студентов.
Для поступления нужной пройти тест и собеседование. Лучших возьмут работать в Х5.
Программа курса:
- пайтон вводный и продвинутый
- SQL
- EDA
- статистика, А/В тесты
- машин лернинг
- математика (1.5 месяца)
- визуализация
- DevOps
- Git
- Контенеризация
- бенчамаркинг архитектуры
Весёлая непринуждённая беседа преподавателей в честь запуска
https://www.youtube.com/watch?v=hK6lXL52Qpo&feature=share
… или «13 коллег Валерия Бабушкина»
13 — количество преподавателей из числа сотрудников Х5.
Продолжительность 8-9 месяцев.
Школа будет «бутиковая» — один поток за раз, без паралельных потоков с запуском каждый месяц.
В таком формате смогут обучаться 40 студентов.
Для поступления нужной пройти тест и собеседование. Лучших возьмут работать в Х5.
Программа курса:
- пайтон вводный и продвинутый
- SQL
- EDA
- статистика, А/В тесты
- машин лернинг
- математика (1.5 месяца)
- визуализация
- DevOps
- Git
- Контенеризация
- бенчамаркинг архитектуры
Весёлая непринуждённая беседа преподавателей в честь запуска
https://www.youtube.com/watch?v=hK6lXL52Qpo&feature=share
YouTube
Зачем мы запустили Школу аналитиков данных и как проходит обучение
Школа аналитиков — это восьмимесячная программа подготовки специалиста, готового работать как у нас, так и в любой другой компании на рынке: от Python и SQL через математику и статистику к машинному обучению и технологиям работы с большими данными.
Подробности:…
Подробности:…
Forwarded from Интернет-аналитика // Алексей Никушин (Veronica Gardash)
📌Ключевые темы сегодняшнего дня:
Алексей Чернобровов - Как архитектура DWH влияет на Data Quality
Петр Ермаков, Lamoda - Open Source BI: почему стоит выбрать Apache Superset
Сергей Галактионов, JetStat - Как маркетологу настроить и автоматизировать отчетность когда нет аналитика
Николай Валиотти, Valiotti Analytics - Современный облачный Data Stack
Роман Бунин, Яндекс.Go - Развитие BI-системы компании с помощью продуктовых подходов
Екатерина Колпакова, Head of DWH Ситимобил - Хочешь построить DWH? Спроси меня как!
Яна Манухина и Алексей Ростоцкий, Bookmate - Как устроить архитектуру DWH и контролировать изменения в ней
Начало в 11:00⏰
FREE: matemarketing.ru
FULL: https://lms.matemarketing.ru
@internetanalytics
Алексей Чернобровов - Как архитектура DWH влияет на Data Quality
Петр Ермаков, Lamoda - Open Source BI: почему стоит выбрать Apache Superset
Сергей Галактионов, JetStat - Как маркетологу настроить и автоматизировать отчетность когда нет аналитика
Николай Валиотти, Valiotti Analytics - Современный облачный Data Stack
Роман Бунин, Яндекс.Go - Развитие BI-системы компании с помощью продуктовых подходов
Екатерина Колпакова, Head of DWH Ситимобил - Хочешь построить DWH? Спроси меня как!
Яна Манухина и Алексей Ростоцкий, Bookmate - Как устроить архитектуру DWH и контролировать изменения в ней
Начало в 11:00⏰
FREE: matemarketing.ru
FULL: https://lms.matemarketing.ru
@internetanalytics
бесплатная трансляция на ютубе
https://www.youtube.com/watch?v=BPgcKYzgFEQ
https://www.youtube.com/watch?v=BPgcKYzgFEQ
YouTube
Матемаркетинг - День 4
data будни
бесплатная трансляция на ютубе https://www.youtube.com/watch?v=BPgcKYzgFEQ
через 3 минуты там будет лекция Ромы Бунина
Роман Бунин, Яндекс.Go - Развитие BI-системы компании с помощью продуктовых подходов
Роман Бунин, Яндекс.Go - Развитие BI-системы компании с помощью продуктовых подходов
SCD — Slowly Changing Dimensions
На одном собеседовании меня спросили как бы я спроектировал табличку для хранения показателей датчика, который иногда но нерегулярно меняется; и так, чтобы потом можно было найти показание за определённую дату простым запросом, не перебирая всю таблицу.
Сначала я долго тупил, но потом минут за 30 мы с собеседующим пришли к рабочему варианту… это оказался вариант по типу SCD2 — уже давно придумали как надо правильно.
Всего типов 6 — вот небольшая статья с примерами данных для каждого типа:
https://habr.com/ru/post/101544/
На одном собеседовании меня спросили как бы я спроектировал табличку для хранения показателей датчика, который иногда но нерегулярно меняется; и так, чтобы потом можно было найти показание за определённую дату простым запросом, не перебирая всю таблицу.
Сначала я долго тупил, но потом минут за 30 мы с собеседующим пришли к рабочему варианту… это оказался вариант по типу SCD2 — уже давно придумали как надо правильно.
Всего типов 6 — вот небольшая статья с примерами данных для каждого типа:
https://habr.com/ru/post/101544/
Хабр
Версионность и история данных
При разработке баз данных зачастую требуется обеспечить поддержку версионности и хранения истории объектов. Например, у работника может изменяться должность, у д...
Forwarded from Smart Data (Denis Solovyov)
#easy
Итак, 1-й фактор эффективности (эффективность = взаимное доверие и уважение) - это Люди.
Но прежде чем рассказывать о hard-skills и soft-skills, которыми должны обладать конкретные специалисты по данным, я хочу рассказать о позициях, которые могут встречаться в data-team. Я выделяю такие основные позиции:
Web-аналитик - один из тех людей, кто занимается первичным сбором данных. Под первичным сбором данных я подразумеваю сбор данных на уровне источников, т.е. это не построение ETL-процессов и data-пайплайнов. Главная задача web-аналитика - собрать данные о поведении пользователей на сайте и в мобильном приложении в системы web/app аналитики, такие как Google Analytics, Яндекс Метрика, Firebase Analytics, AppsFlyer и др. Они собирают данные о том, с каких источников трафика приходят пользователи на сайт или в мобильное приложение, какие страницы они посещают, на какие кнопки нажимают, какие товары покупают в интернет-магазине и т.д. Часто web-аналитики выступают в роли продуктовых аналитиков - они анализируют данные в системах web/app аналитики, строят гипотезы по улучшению эффективности сайта или приложения как продукта, делают A/B-тесты.
Data Engineer (инженер данных) - человек, который отвечает за построение надёжных и масштабируемых ETL-процессов и data-пайплайнов. Его главная задача - извлечь данные из источников, преобразовать данные в пригодный для анализа и data science вид и загрузить их в хранилище данных (Data Warehouse) или озеро данных (Data Lake).
BI Engineer (BI-разработчик) - человек, который отвечает за проектирование и создание отчётности в BI-инструменте (Power BI, Tableau и т.д.). Его главная задача - сделать так, чтобы бизнес-пользователям было удобно пользоваться отчётами и дашбордами, они могли находить инсайты в данных и принимать решения. BI-разработчики более высокого уровня могут не ограничиваться только проектированием и созданием BI-решений. Они также анализируют уже созданные отчёты, находят инсайты, строят гипотезы и предоставляют рекомендации бизнесу.
Data Analyst (аналитик данных) - человек, который анализирует данные (часто, уже подготовленные инженерами данных). Его главная задача - находить инсайты и предоставлять рекомендации бизнесу. В отличие от BI-разработчика он использует более продвинутые методы и инструменты анализа, такие как SQL, Python или R. Аналитики данных более высокого уровня применяют знания статистики и строят простые модели для Machine Learning. Часто Data-аналитики выступают в роли продуктовых аналитиков.
Product Analyst (продуктовый аналитик) - человек, основная задача которого - находить инсайты в данных, строить гипотезы и предоставлять рекомендации по улучшению продукта. Под продуктом подразумевается IT-продукт, т.е. сайт, мобильное приложение, web-приложение и т.д. Продуктовые аналитики используют в своём арсенале инструменты web/app аналитики, SQL, Python/R и сервисы для A/B тестирования (например, Google Optimize).
Data Scientist - человек, который строит модели Machine Learning, Deep Learning и занимается предиктивной аналитикой. Главная его задача - находить закономерности в данных благодаря построенным ML/DL моделям и помогать бизнесу находить скрытые точки роста.
Очень часто один человек может исполнять несколько ролей. Всё зависит от типа компании, её размера, орг. структуры и конкретного проекта. Я, например, выполняю задачи web-аналитика, инженера данных и BI-разработчика)
P.S. Думаю, пост будет очень полезен новичкам, кто ещё не определился с выбором профессии. Возможно, в этих описаниях вы найдёте своё призвание:)
Итак, 1-й фактор эффективности (эффективность = взаимное доверие и уважение) - это Люди.
Но прежде чем рассказывать о hard-skills и soft-skills, которыми должны обладать конкретные специалисты по данным, я хочу рассказать о позициях, которые могут встречаться в data-team. Я выделяю такие основные позиции:
Web-аналитик - один из тех людей, кто занимается первичным сбором данных. Под первичным сбором данных я подразумеваю сбор данных на уровне источников, т.е. это не построение ETL-процессов и data-пайплайнов. Главная задача web-аналитика - собрать данные о поведении пользователей на сайте и в мобильном приложении в системы web/app аналитики, такие как Google Analytics, Яндекс Метрика, Firebase Analytics, AppsFlyer и др. Они собирают данные о том, с каких источников трафика приходят пользователи на сайт или в мобильное приложение, какие страницы они посещают, на какие кнопки нажимают, какие товары покупают в интернет-магазине и т.д. Часто web-аналитики выступают в роли продуктовых аналитиков - они анализируют данные в системах web/app аналитики, строят гипотезы по улучшению эффективности сайта или приложения как продукта, делают A/B-тесты.
Data Engineer (инженер данных) - человек, который отвечает за построение надёжных и масштабируемых ETL-процессов и data-пайплайнов. Его главная задача - извлечь данные из источников, преобразовать данные в пригодный для анализа и data science вид и загрузить их в хранилище данных (Data Warehouse) или озеро данных (Data Lake).
BI Engineer (BI-разработчик) - человек, который отвечает за проектирование и создание отчётности в BI-инструменте (Power BI, Tableau и т.д.). Его главная задача - сделать так, чтобы бизнес-пользователям было удобно пользоваться отчётами и дашбордами, они могли находить инсайты в данных и принимать решения. BI-разработчики более высокого уровня могут не ограничиваться только проектированием и созданием BI-решений. Они также анализируют уже созданные отчёты, находят инсайты, строят гипотезы и предоставляют рекомендации бизнесу.
Data Analyst (аналитик данных) - человек, который анализирует данные (часто, уже подготовленные инженерами данных). Его главная задача - находить инсайты и предоставлять рекомендации бизнесу. В отличие от BI-разработчика он использует более продвинутые методы и инструменты анализа, такие как SQL, Python или R. Аналитики данных более высокого уровня применяют знания статистики и строят простые модели для Machine Learning. Часто Data-аналитики выступают в роли продуктовых аналитиков.
Product Analyst (продуктовый аналитик) - человек, основная задача которого - находить инсайты в данных, строить гипотезы и предоставлять рекомендации по улучшению продукта. Под продуктом подразумевается IT-продукт, т.е. сайт, мобильное приложение, web-приложение и т.д. Продуктовые аналитики используют в своём арсенале инструменты web/app аналитики, SQL, Python/R и сервисы для A/B тестирования (например, Google Optimize).
Data Scientist - человек, который строит модели Machine Learning, Deep Learning и занимается предиктивной аналитикой. Главная его задача - находить закономерности в данных благодаря построенным ML/DL моделям и помогать бизнесу находить скрытые точки роста.
Очень часто один человек может исполнять несколько ролей. Всё зависит от типа компании, её размера, орг. структуры и конкретного проекта. Я, например, выполняю задачи web-аналитика, инженера данных и BI-разработчика)
P.S. Думаю, пост будет очень полезен новичкам, кто ещё не определился с выбором профессии. Возможно, в этих описаниях вы найдёте своё призвание:)