data будни – Telegram
data будни
1.47K subscribers
120 photos
1 video
2 files
237 links
работаю инженером данных и пишу в основном про это.

Профильные ссылки с коротким резюме (статьи, доклады, подкасты), иногда «софтовое» — например, про поиск работы.
Download Telegram
Методы управления разработкой

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

Так работает метод управления разработкой «водопад» (waterfall). Задачи идут последовательно одна за другой: два месяца на исследование, несколько лет на разработку, ещё сколько-то на внедрение. До самого конца заказчик ничего не видит — ему нужен только конечный результат.

Другой метод — аджайл. В Спотифай применяют как раз его: короткие итерации с ощутимым итогом после каждой — Spotify Model, развившееся в Spotify Rhythm.

из подкаста «Запуск завтра»
https://news.1rj.ru/str/ctodaily/1157

#data_podcast
методы доступа к данным

задача: собрать данные из сервиса почтовых рассылок
вводные: вот личный кабинет, вот данные для доступа по API

сказано — сделано: написал скрипт, получил всех подписчиков и их данные. Ок.

Второй шаг — получить действия этих подписчиков (открытия, переходы по ссылкам, отписки).

С самими контактами всё просто: они подписываются не часто и только один раз; достаточно просто каждый день забирать из сервиса список новых.

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

Дальше — больше. Логика API не предусматривает отдельный фид для всех активностей: активности можно получить только по конкретному подписчику.

И вот я пыхчу и пишу скрипт с обходом всех айдишников, чтобы по каждому получить активности. Идёт не быстро, переодически упирается в какие-то ошибки, дописываю краевые условия для скрипта — код каждый раз усложняется. За день такого мурыжения я получаю 10к активностей.

В очередном помидорном перерыве пришла в голову идея спросить совета у старшего товарища. Он дал контакт в сервисе — пишу туда, объясняю ситуацию. Думаю, вдруг я просто не знаю как правильно использовать АПИ. Но там кивают, подтверждают что активности отдельно через АПИ не достать — так уж работает.

Угу. Понятно.

Но!

Могут прислать тупо выгрузку из своей базы по всем активностям. И потом каждый день присылать за прошлый. Вот вам доступ к папке на ФТП, там каждое утро будут появляться отчёты в .csv

Та-дам!

Итого: доступ в лоб «как сказали» — один день и 10К активностей. Проявил инициативу, зашёл сбоку — два часа и все активности с начала времён.

Зарубка себе на будущее:
1. задавать вопросы.
2. оценивать адекватность усилий к полученному результату.
3. делать паузы в работе (в них особенно удобно делать п.1 и п.2).
АйТи в строительной компании ПИК

послушал выпуск подкаста «запуск завтра» с главным айтишником из ПИКа.

Дом проектируется как цифровой объект, где каждая дверь и труба описана как сущность с кучей параметров. В 3Д это можно визуализировать как угодно по «слоям».

Проектирование дома — процесс на несколько лет.

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

Отдельная тема выпуска — про введение подобных трансформаций в компании. Как исчезают рабочие места «операторов ввода информации в ЭВМ» и автоматизируется рутинная работа с подрядчиками. С кем-то договориться, других взять большинством, к иным «зайти сверху», с остальными — расстаться.

https://news.1rj.ru/str/ctodaily/1158

#data_podcast
Data Engineering в Яндекс Такси

посмотрел запись доклада Евгения Ермакова —архитектора Data Management Platform Яндекс. Делюсь заметками и слайдами.

Ссылка на видео и презентацию на сайте митапа
https://deordie.com/meetups/01/

#data_video
Хранилище данных разделено на слои:
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)
люди и роли

между «бизнесом» и дата инженером есть «партнёр по данным» — по сути это проджект менеджер, который переводит с языка бизнеса на язык даных. А «под» дата инженером (ближе к ядру данных) есть разработчик платформы. Над всем этим стоит Архитектор — в данном случае это Евгений Ермаков.
Всё автоматизируется.

(Особенно мне сложно представить сбор данных, нечувствительный к изменению полей и последующий разбор этих [нестабильных] полей по объектам внутреннего хранилища)

Любой менеджер в Яндексе должен уметь «программировать» — при необходимости залезьть под капот и понять что там происходит.
Отличия ML и DS

Глеб Синяков — аналитик-разработчик в Тинькофф — обсудил с ребятами из Moscow Python разницу в названиях профессий.

почему специалистов по машинному обучению называют дата саентистами?

пошло от того, что 5 лет назад «дата саентист» умел только в математику. К нему приставляли отдельного разработчика — «переводчика на питон». Плюс к этому бэкэндера, который пытается из моделей делать продукт.

Постепенно всё пришло к тому, что весь спектр задач работы с данными надо уметь самому. Разделение ролей идёт на больших проектах и больших данных.

→ то есть не Data Scientist, а ML Engineer


- код в Jupyter notebooks — боль разработчика: сама среда располагает к беспорядочному коду, где даже думать не хочется о модульности и правильном коде.

Как бороться? Писать законченные изолированные модули в PyCharm и импортировать их в ноутбуки. И уже там открывать файлы и тестировать работу.

⁃ Как потом хранить эти ноутбуки в Git? Складывать всё в отдельную ветку и потом пушить одним жирным коммитом.

Минимальный продукт от ML инженера — это pip-install-ируемый модуль, чтобы любой другой человек мог его включить и запустить на своей машине.

Подкаст в iTunes и Overcast

#data_podcast
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