Инжиниринг Данных
23.5K subscribers
1.99K photos
55 videos
193 files
3.21K links
Делюсь новостями из мира аналитики и карьерными советами.

15 лет в Аналитике и Инжиниринге Данных, 10 лет в MAANG

🛠️ dataengineer.ru | 🏄‍♂️ Surfalytics.com

№5017813306

Реклама:
https://almond-rule-130.notion.site/1199f595f76a8030ba1be1e607c9a8ce
Download Telegram
Хорошая статья про оконные функции от Databricks, рассказывают теорию и показывают примеры для SQL и PySpark.
👍1
Всем привет! Готов еще один перевод, посвященный Apache Spark, в котором кратко описаны основные составляющие части фреймворка. Поддержите пожалуйста лайками и голосами)

https://habr.com/ru/post/592067/
ML-Engineering-Ebook-Final.pdf
3.4 MB
#whitepaper про ML engineering от Databricks. В документе выдержки из книги Machine Learning Engineering in Action
Tableau Evangelist (это такая роль в компании вендора, которая продвигает технологии и на своем примере показывает как это здорово использовать продукт) - Andy Cotgreave показал свои 4 любимые книги за 2021:

Atlas of the Invisible (James Cheshire and Oliver Uberti)

Living in Data (Jer Thorp)

How to Make the World Add Up (Tim Harford)

The Big Picture (Steve Wexler)

За последнюю книгу я не сомневаюсь, что она хорошая, Стив уже много раз был Tableau Zen Master и плохого не посоветует. Я его знаю лично, один раз он выступал для Amazon Tableau User Group, которую я вел, другой раз я был на его выступлении в Boston User Group и это было как в театре!

Источник https://www.linkedin.com/pulse/my-favourite-data-books-year-andy-cotgreave/
Forwarded from Stanislav Lysikov
Всем привет.
Наблюдая со стороны все больше внедрений DBT на просторах русскоязычного комьюнити в рамках развития @dbt_users решили провести митап и поделиться опытом :)
14 декабря в 19-00 в онлайне (с прискорбием :() ребята из Wheely, Space307 и NabuMinds расскажут:
- зачем нужен dbt
- как просто построить современный стек в облаках
- использовать как надежного помощника аналитикам и инженерам при стандартизации расчетных метрик
- как искать узкие места в графе выполнения :)
Слоты фиксированы по времени, можно подключаться на любой канал. Ссылка на ютуб придет как обычно перед началом митапа.
До встречи :)
https://space307.team/dbtmeetup
Destroy the idea that you have to be constantly working or grinding in order to be successful. Embrace the concept that rest, recovery & reflection are essential parts of the progress towards a successful happy life. (c)
Знакомьтесь новый CEO твиттера Parag Agrawal.
Простая и понятная картинка про подготовку данных к модели и проверки качества модели. Ничего не забыли?
Мы используем PySpark и создаем много функций для преобразования данных, часто это трансформации data frame. Недавно я узнал про Python Docstrings - стандартный способ ведения документации функций.

Пример:

def square(n):
'''Takes in a number n, returns the square of n'''
return n**2

print(square.doc)

Takes in a number n, returns the square of n''

А вы знаете еще что-нибуль полезное?
Оказывается у AWS есть альтернативная (честная) версия их AWS Service Health Dashboard. Потому что, как мне сказали оригинальный продукт - bullshit. Поэтому, если у вас AWS то вам бует полезно добавить в закладки https://stop.lying.cloud/
Сейчас идет конференция - Coalesce, для меня это самая настоящая конференция, которой движет комьюнити людей, кто любит работать с данными и любит делиться опытом. Пока еще, это не коммерческий ивент, на котором вендоры будут вам рассказывать, как вам плохо без их продукта.

Я уверен другие каналы тоже напишут про разные интересные темы с этой конференции, я начну вот с этого - Git for the rest of us.

Это доклад, для тех кто пока чувствуют себя не уверенно с git. В докладе много хороших примеров как используют git для SQL и dbt,, как его настроить и скачать. Зная, как студенты datalearn испытывают трудности с git в начале, это будет неплохое видео, которое покажет еще раз примеры комманды и примеры использовании командной строки. Прям все как любой компании: в которой аналитики делают commit своего кода в репозиторий.
А это специальный сайт с emoji для вашей git документации https://gitmoji.dev/
Все чаще попадется этот ресурс - https://overemployed.com/
Идея у них простая - Work Two Remote Jobs, Reach Financial Freedom

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

Мне интересно, кто нибудь так пробовал? Какие ощущения и какой самый важный мотиватор для вас?

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

Я лично пробовал подрабатывать на проектиках, минусов не заметил, но это больше были как временные задачки, а вот так, чтобы год работать нон-стоп это уже следующая категория, для настоящих профи🏆
Если вы еще не пользовались языком markdown, то стоит начать использовать. Это самый популряных язык для написания документации.

Примеры использования:
- в учебнике Data Learn в Github мы используем markdown, и получается очень красиво и удобно, легко редактировать. Использую Visual Code, у меня экран разделен на 2 части - Markdown и Preview
- на работе мы используем DevOps, Git, GitLab - все комментарии используют markdown
- возможно все знакомы с файлом readme .md - каждый git repo содержить такой

Как вы еще используете markdown?

Сегодня я хотел бы рассказать про возможности md для создания диаграм и схем:
Flow Charts - With this code, you can create a minimalistic diagram.
Sequence Diagrams - If you like a handwritten font, this one is for you.
Mermaid
PlantUML
GraphViz - для создания графов и зависимостоей
Ditaa - Markdown Preview Enhanced supports ditaa that can convert diagrams drawn using ascii art (‘drawings’ that contain characters that resemble lines like | / — ), into proper bitmap graphics.

Такие вещи как Mardown, CLI, Git - вошли в повседневную жизнь людей, которые работаю с данными и являются необходимыми навыками, нименьше, чем Excel. Не нужно быть экспертом, но нужно знать базовые примеры и понимать для чего это используется.
Последние несколько месяцев я использовал Databricks Autoloader для моего Delta Lake. Для начала я расскажу, что значит каждое слово:
- Databricks - это коммерческий продукт, в сердце которого Apache Spark. Так же у вас есть удобный интерфейс с ноутбуками - Workspace. Поэтому мы можем писать код, трансформации и Databricks будет делать data processing. Единица трансформации обычно data frame. Можно использоать PySpark, Scala, SparkSQL. Все достаточно удобно и быстро. Данные как правило хранятся в облачном сторадже AWS S3, Azure Storage.

- Delta Lake - это опен сорс продукт, который уже неразрывно связан со Spark. Мы использовали его еще в Amazon для AWS EMR+Spark, чтобы решать задачи GDPR (Удаление customer id). Данные хранятся так же в озере данных в формате Parquet. Но есть дополнительные фичи - transaction log (метаданные о данных), и у нас теперь не просто External Table в Hive Metastore, но Delta Table. Есть и аналоги на рынке Iceberg и Hudi (как правило для Hadoop). Проблем пока не заметил, только операция MERGE тормозная на большом объеме, но много хороших фич, которые позволяют сделать хранилище данных из вашего озера данных (то есть Lake house).

- Autoloader - это фича Databricks, которая использует Spark Structured Streaming. Databricks сам создает всю необходимую инфраструктуру в AWS/Azure, чтобы стримить непрерывно файлы к вам в DW. И Вместе с Delta Lake вы можете сделать streaming ETL для всего. Конечно на практике это работает не так прекрасно. Условно Autoloader это черный ящик, которые все делает сам – находит только новые файлы и грузит их. Где-то глубоко он использует базу RocksDB, которые ведет учет всего что вы загрузили.

Я решил сделать ставку на инновации, но что-то пошло не так. Autoloader уже второй раз дает сбой по непонятным причинам и пишет, что не может найти путь к checkpoint. То есть, он не знает, чего было загружено, а чего нет. И мне как разработчику это ни о чем не говорит, так как это сервис и black box. Я уже потратил много времени с support в прошлый раз, они попросили добавить опцию в настройки кластера "spark.databricks.cloudFiles.missingMetadataFile.writeNew true" но на мой вопрос так и не ответили, "Почему это случилось?".

Выглядит как заплатка. Но опять все сломалось и хз чего там.

Мораль истории проста – все эти замечательные сервисы, которые будут делать работу за вас, все эти красивые слова вендоров, их презентацию, все это, как говорят на западе bullshit.

Ну а мне придется переделывать все на классический batch процесс, в котором я могу запускать data factory job каждый час и переписывать или добавлять партицию, как делали лет 5-10 назад при использовании Hive и Hadoop.

PS Но тем не менее я добавлю delta lake, autoloader и Databricks в data learn.
Флагманский BI от AWS - Amazon QuickSigh опубликовал список фич за 2021 год.

Что же там нового?

Free-form layouts, new chart types, and much more for pixel-perfect, interactive dashboards

Сложилось впечатление, что продукт попытался угодить вообще всем и как-то не чувствуется видение решения.

Сразу вспоминается как в Амазоне каждая команда хотела внедрять Tableau для себя, но им надо для галочки написать сравнительный отчет, в котором четко указать, что QS хороший продукт, но вот еще немного сыровать, и лучше пока с Tableau. Я уверен, что внутренняя отчетность Amazon, в частности отчеты Weekly Business Review (аналог эксель таблиц), тоже оказывают влияние на продукт. Но это мое мнение.

Я вообще отношусь к BI решению как к обуви. Обувь не только должна быть удобная и практичная, но и эстетично красивая, поэтому я и люблю Tableau, в нем приятно работать=) В Looker тоже есть что-то особенное. А вот Power BI для меня как ботинки на мой выпускной, вроде классические туфли , но было стыдно еще раз их одевать😂

Давайте лучше посмотрим на достижения AWS в области BI за 2021 год:
- Добавили Dual Axis chart
- Можно теперь строить Sankey диаграмму
- Добавлять кастомные web компоненты
- Можно видео добавить или апы
- Улучшения по таблицам, почти Excel ячейки.
- Теперь можно делать A4 финансовую отчетность, так как появилась возможность использовать pivot table with custom styling for totals and sub-totals
- custom sorting
- custom tooltips
- wildcard search
- alerts
- можно PDF рассылки делать

И еще много чего. С одной стороны мы видим огромное количество фич, которые в большинстве являются базовыми для любого BI решения, а с другой стороны как-то не понятно в чем преимущество продукта, кроме как интеграции с другими AWS продуктами.

Интересно, кто-нибудь использует у себя QS?
Forwarded from Время Валеры
После работы в больших корпорациях и стартапах, я начал работать в чем-то среднем, уже не стартап, но еще не корпорация и как следcтвие, набросал следующее

A note about redundancy and efficiency in the Data Science department

In theoretical computer science, the CAP theorem states that any distributed data store can only provide two of the following three guarantees:
Consistency - Every read receives the most recent write or an error.
Availability - Every request gets a (non-error) response without the guarantee that it contains the most recent write.
Partition tolerance - The system continues to operate despite an arbitrary number of messages being dropped (or delayed) by the network between nodes.
When a network partition failure happens, it must be decided whether to cancel the operation and thus decrease the availability but ensure consistency or proceed with the operation and therefore provide availability but risk inconsistency.

I review the team structure as very close to this, but with different criteria: efficiency and redundancy. As computer science describes, redundancy means having extra or duplicate resources available to support the primary system. It is a backup or reserve system that can step in if the primary system fails. The reserve resources are redundant as they are not being used if everything is working correctly.

What does it mean to the team structure? From what I have seen, the company usually evolve from being efficient to becoming redundant. However, neither being too efficient nor too redundant is good.

Why being too efficient is not good?

If you are too efficient and cover many things with few people, you are at risk. If something happens to these people - the company is in trouble. If your team is 100% efficient and something critical happens - the team cannot cover it. Otherwise, the team is not 100% efficient. The team member does not have time to relax, and the team is relaxed. When people are relaxed, they become curious, explore, come up with new ideas, develop new skills, and be happy overall.

Why being too redundant is not good?

I found that the most challenging in life is to keep balance. Redundance is good - it provides reliability, security, room for improvement and a margin to outlast the crisis. However, too much redundancy creates sloppiness, bad team flow and repel top performers, as it deteriorates the overall vibe and feeling of doing a meaningful and impactful job.

Thus we need to keep the right balance between efficiency and redundancy.
Как ускорить расчет витрин с помощью материализаций

Несколько лет назад мы выбрали Snowflake как сервис для нашей дата-платформы. С ростом объемов данных до сотен миллионов строк (спойлер: а затем и до десятков миллиардов), мы задались вопросом: «Как тратить меньше времени на расчет запросов для ежедневной отчетности?». Идеальным вариантом было использование материализованных представлений, позволяющих обращаться к предварительно вычисленным результатам расчета витрин гораздо быстрее, чем к исходным данным.

Мы могли отдать управление нашим пайплайном таким популярным сегодня инструментам для трансформации данных, как, например, dbt, Matillion или Dataform. Однако, в начале 2020 года ни у одного из них не было возможности тонкой кастомизации под нужды Snowflake и ManyChat. К тому же, нам не хотелось платить за еще один сторонний инструмент. Так, мы приняли решение изобрести собственный велосипед для работы с материализацией данных. Именно об этом я сегодня и расскажу.

PS ManyChat как флагман строительства отечественного снежного хранилища, но для западной компании🤩