Сегодня поговорим про инженерную инфру в DS, всякий MLOps #MLOps
Начнем с #Jupyter -а...
Jupyter конечно говно, но очень удобное. Код, текст, графики, вывод: все в одном месте, как статья. Можно заставить на жирном сервере, не давать доступ по ssh, не мучаться с удаленным запуском, профилировать процессы
Поругайтесь на jupyter или выступите адвокатом дьявола. Можно выговориться как на кушетке у терапевта. После рабочих встреч и пары тасочек вернусь и пожалею вас. А еще расскажу свою историю с notebook-ами
Познакомился с Jupyter notebook-ом я на HighLoad 2014 (красиво закольцевал, да? вчера HighLoad, сегодня HighLoad) @facultyofwonder делал там доклад про анализ в рекламе и примеры демонстрировал в Jupyter-е
В этот момент я прозрел, до этого я обрабатывал данные на плюсах и джаве, работу с OpenCV делал через шарп.
Да, на работе был python и java, но анализировать данные на Python в голову мне не приходило
Для некрофилов доклад можно посмотреть тут
Все визуализации были на ggplot2
Когда пришел домой, поставил jupyter, тогда он еще назывался IPython Notebook, и воспроизвел весь код с концы (фотографировал слайды на телефон)
Дальше начал экспериментировать
В 2015 году мы начали решать DS задачи в HeadHunter. На одной жирненькой тачке мы запускали jupyter каждый для себя (нас было 2е)
Когда в команде было уже 4-5 пользователей, решили что это уже не очень удобно, а тачку подтянули еще дирнпе
Ну и я зафигаяел jupyterhub на сервер
Он конечно был. Ыроват, но мне повезло: репозитории hh на github, и oauth2 работал тут отлично
Я тащился делать микро-оптимзации, доп.библиотеки и различные улучшегия
Когда я пришел в юлу, там был python, r, pyspark и sparkR
Все работало через jupyter
Первым делом мы отказались от R
SparkR работал ну прям ужасно, иногда ложил кластер
Благо в отделе у меня были просто лучшие и безболезненно перешли на pyspark
Мы отказались от Cassandra - и попытались перед ти на hive. Spark streaming иногда подводил
Вообще хранить кликстрмм в Cassandra, наверно самый большой посттравматический синдром того времени
Одна из особенностей, чтоб заставить jupyterhub,нужно было оформить это все в виде RPM пакета.
DevOps такой DevOps
Но тут мне тоже очень повезло с коллегами из DevOps, это были затяжные вечера, но с обоюдным желанием докатить все до конца
Следующий jupyter на моем пути был в Lamoda
Когда я пришел, все пользовались одним инстансом
Тут наверно стоит сказать о проблемах:
1) вы не можете нестарнуть свой jupyter, рестартанет всех
2) вы видите чужие ноутбуки и можете их случайно (или нет) прибить
3) никогда нельзя понять, кто отъел CPU и RAM
С классным Data Engineer-ом, с позволения классной команды DS-ов мы заставили JupyterHub
тут рассказывал про некоторые фишки
самый популярный мой доклад на ютубчике, почти 40к просмотров
А это продолжение про расширения и jupyterhub
Что вообще стоит докручивать в Jupyter?
1) слать метрики cpu, gpu, ram по ноутбукам и пользователям в графану, чтоб знать кто или что забило память
2) авто-шатдаун ноутбука, если там давно (например сутки) ничего не выполняется...
3) если у вас используется Spark, я бы не делал pyspark ядро. почему?
3.1) частый кейс, тебе нужно всего лишь посмотреть старый ноутбук, копипастить какой-то код или посмотреть на результаты, а это создаст spark-контекст...
3.2) появляются сотрудники (аналитики, джуны), которые не знаю, что за этим скрывается и что такое контекст и какие там параметры
3.3) код нельзя превратить в py и запустить как скрипт
3.4) не все параметры контекста можно поменять по горячему...
Единственное, что можно сделать - вынести инициализацию контекста в отдельную функцию/либу и дать возможность менять параметры контекста до запуска)
4) автошатдаун Spark контекста - это тоже хорошо
5) запретить консоль - а кому нужно, дать ssh
6) вместо htop использовать glances.readthedocs.io/en/latest/
7) сделать Шеринг папку для того, чтоб делиться ноутбуками)
8) если вы хотите на GitHub свой код, посмотрите reviewnb.com
Пожалуй все.
Не подсаживайтесь на jupyter, много красивого, дашборды по кнопке - но слезать с этого будет больно
Посмотрите в сторону удаленного запуска кода и его дебаг, функционал встроен в pycharm/idea, но вроде только в Pro версиях

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with Data Scientist

Data Scientist Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @dsunderhood

20 May
Поговаривают, по четвергам у вас тут в твиттерах странные обычаи. Но у меня будет тред с моим котом #нюдсочетверг Image
завели кота в карантин, когда жили в деревне Image
я вообще по собакам и кошки меня никогда не любили. но с этим котом другое дело Image
Read 10 tweets
19 May
Меня часто спрашивают, как пройдет датафест
1) зарегистрируйтесь datafest.ru/2021/ обязательно!
2) 22 мая будут стримы и нетворкинг, нужно обязательно зарегистрироваться, чтоб ничего не пропустить...
#datafest
3) с 23 мая начнется публикация докладов и прочих активностей, но обязательно зарегистрироваться, чтоб не пропустить доклады и прочее расписание
4) в некоторые субботы мы проведём стримы-прямые_включения, 29 мая стрим будет из Ярославля, но обязательно зарегистрируйтесь...
5) вся движуха пройдет до 18 июня, а 19 июня будет финальный стрим
Много дат, да? А знаете как их не забыть и не пропустить?
Read 4 tweets
18 May
Возможно вы еще помните такое приложение, как clubhouse? Если уже не помните, давайте смахнем пыль. Вот, что расскажу.
В феврале мы начали там проводить дата завтраки... #datazavtrak
Каждое утро (последний месяц только пн, ср, пт) в 9:30 мы стартуем комнату в clubhouse, где обсуждаем все вопросы связанные с данными: задаем вопросы, отвечаем, обсуждаем новости и питчим идеи
Сейчас дата завтрак проходит камерно, но в начале в пике в нем было 700 человек. Второй дата завтрак продлился 9 часов (плавно перетек в дата ужин)
Read 10 tweets
17 May
Добавим немного личных историй про HighLoad. В программный комитет онтиковских конференций я попал 2 с небольшим года назад, пригласил меня туда Роман Поборчий. Роман тогда хотел сделать дата-конференцию под онтиковских брендом. В итоге она прошла в 2019 году- UseData #conference
Так же я стал ПК конференций онтико, где есть дата секции: хайлоады Москвы, Питера и Сибири.
Что дает членство в ПК онтико: бесплатные билеты на все конференции онтико, даже где ты не ПК. Где ты ПК - еще и трансфер , если это другой город. Часовую ставку за обслуживание докладов и тп (ее я не оформлял) и, наверное, самое важное, хорошая компания других членов ПК.
Read 6 tweets
16 May
Канада!
Не могу не начать с хорошей новости, которую вы наверняка уже слышали - только в 2021 году Канада хочет принять овер 400к иммигрантов
No time like the present ;)
cicnews.com/2021/05/canada…
Я попала туда по программе PNP - Provincial Nominee Program
Есть другой путь - Express Entry, где нужно набрать опр. количество баллов по разным критериям полезности для страны - языковые скиллы, опыт работы, возраст и тд
С PNP всё гораздо проще и ВНЖ через пару лет гарантирован
Проще, потому что не нужно сдавать экзамены на знание языка, участвовать в конкурсе баллов и тд
Вам нужна desperate enough провинция (== штат), где не хватает специалистов, оффер оттуда и...в принципе всё, можно считать, что канадский паспорт на руках :)
Read 28 tweets
16 May
Это, наверное, самая тихая неделя в сообществе :)
Наверное, мне должно было бы быть стыдно, что не справилась, не придерживалась плана и тд, но знаете что? НЕТ
Обидно, что не смогла поделиться кучей мыслей, статей, решений, задать сто интересных вопросов, но не стыдно :)
Хочется немножко затронуть тему выхода из строя (порой ВНЕЗАПНОГО) самого главного и самого сложного органа в нашей тушке
Точно знаю, что страдаю тут от них не одна :)
Иногда мы строим планы и даже их придерживаемся, а иногда мозг не даёт нам этого сделать и сильно мешает работе
Можно злиться на себя и пушить свой организм дальше, можно ощущать бессилие и тихо закапываться в нем, я обычно выбираю третий вариант - послушать свой организм и give it a break, даже если это факапнет ваши планы и доставит неудобства
И не молчать, главное - не молчать об этом
Read 8 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal Become our Patreon

Thank you for your support!

Follow Us on Twitter!

:(