Size: a a a

Инжиниринг Данных

2021 August 24
Инжиниринг Данных
6 сентября стартует новый поток курса о данных в энтерпрайзе. Это первая подобная программа в России. Ее разработали создатели MDM- и CDI-решений из компании HFLabs.  
 
🧑‍💻 Для кого  
 
Подойдет всем, кто работает или хочет работать с клиентскими данными в крупной компании.  
 
Специальность не имеет значения: полезно аналитикам, архитекторам, тестировщикам, инженерам по данным.  
 
📚 Программа  
 
Пять дней, пять преподавателей, пять модулей:  
1. Предпосылки создания MDM-системы. Проектирование модели данных.  
2. Построение MDM-системы: структура и правила работы с данными.  
3. Добавление новых источников в MDM-систему.  
4. Получение данных из эталонной клиентской базы. Обратное распространение.  
5. Управление качеством данных в MDM-системе.  
 
🧙‍♂️ Преподаватели  
 
Эти специалисты работают с клиентскими данными в ВТБ, «Открытии», «Росгосстрахе», МТС. Каждый «закрыл» десяток проектов для крупного бизнеса.  
 
🏃‍♀️ Студенты уже регистрируются  
 
Мест всего 16, разбирают быстро. Лучше не медлить.  
 
Узнать больше https://bit.ly/3moXQfe

PS Это #реклама, которая поддержала фонд #vsevsevmeste#реклама, которая поддержала фонд #vsevsevmeste
источник
Инжиниринг Данных
Что такое Data Linage - это термин из ETL, теперь уже data engineering.

Data lineage refers to the ability to trace how and where data sources are used. In the first years of a company, data lineage is easy to fully understand: a company with only a handful of data pipelines doesn’t need to worry much about data lineage since they can count the number of tables with their fingers. However, as datasets become more complex and the number of contributors grow, it becomes more and more difficult to understand the relationships between different data sources.

Идея простая, мы хотим дать возможность пользователям нашего решения отследить откуда берутся данные и как рассчитываются показатели и измерения, мы можем взять конкретное поле, например Сумма Продаж, и посмотреть на все его трансформации. Это важно, если например сумма продаж неправильная и нужно найти в каком месте сбой.

В статье Data Lineage at Slack вы можете узнать про How we automate building and maintaining data lineage at Slack
источник
Инжиниринг Данных
Расходы в облаках растут и теперь компаниям надо более аккуратно отслеживать их расходы на облачных провайдеров.

The Information: There’s a debate going on in the enterprise tech industry about whether using cloud providers remains cost-effective after a company reaches a certain scale, and whether it’s better to repatriate certain computing jobs to private data centers.

Компания Pinterest рассказала как они научились лучше контролировать и прогнозировать расходы AWS.
источник
Инжиниринг Данных
Расскажу про один из проектов про миграцию. Но не из on-premise в облако. А из облако в облако.

В качестве big data processing инструмента у нас был HDInsight (это аналог AWS EMR, PaaS Hadoop. Если вы смотрели модуль 5, то знаете, что такое PaaS). Его задача читать данный телеметрии (именно так называется поток данных от клиента), как правило это JSON файлы, которые сыпятся в Blob Storage (Аналог у AWS S3). Мне нужно было смигрировать одну табличку, там данных за 3 года, по 20Тб в год.

Вместе с HDInsight использовался Hive SQL, на нем была описана вся логика и с помощью Azure Data Factory (аналог Airflow от Azure - то есть оркестратор, у AWS есть Glue, но это не тоже самое, так как Glue имеет Spark и мы сразу пишем трансформации на Python или Scala, а в ADF мы просто выбираем компоненты - где хранить данные, чем обрабатывать и тп). Результат обработки JSON - ORC формат и Hive Metastore (для конечного пользователя это просто как база SQL данных). А дальше уже другой стек для расчета таблиц фактов.

Куда мигрировать: Azure Databricks Delta Lake

Почему мигрировать: Тут несколько факторов, прежде всего, можно было ничего не делать, так как и так все работает, но я не могу просто так работать с legacy, если на рынке востребованы другие технологии. Я лично стал активно пушить Databricks и Delta Lake. Это дает нам преимущества и удобства, но прежде всего это крутой опыт и история для меня и мне приятно рабоать с лучшими технологиями на рынке и всегда люблю пробовать новые решения. Такая стратегия всегда помогает развивать карьеру и находить интересные проекты.

Альтернативы: Конечно они есть. Как я сказал, можно вообще ничего не делать. Но можно еще использовать HDInsight+Spark (вместо Hive), чтобы использовать Delta Lake. Можно использовать аналоги - Hudi и Iceberg, но как то Azure не пиарит их совсем, только Spark и Delta. И меня всем устраивает Spark+Delta, мне бы с ними разобраться. Еще есть Azure Synapse - но они пока отстают по функциональности от Databricks. Но агресивно развиваются.

Теперь про сам процесс миграции, все очень straightforward.  Создаю цикл, в котором выполняю запрос за 1 день или час.
1) Выполняю SQL запрос для одной партиции в качестве WHERE условия и создаю DataFrame
2) Модифицирую dataframe, чтобы изменить схему таблицу, добавить полей и тп
3) Пишу data frame в новый location, но уже Azure Data Lake Storage (Вместо Blob storage) USING DELTA

Например в 1 день может быть 700Gb данных, и вроде бы задача простая, но очень долгая. Я использовал кластер Spark:
- 3 Worker nodes сумарно 768gb оперативки, 192 cores
- 1 Driver nodes 128gb, 32 cores

Например 700gb он считал 2часа+. Кластер я выбирал пальцем в небо, было лишь ограничение на кол-во ядер для моего аккаунта в Azure.

Самое печальное, что я просчитал 2 года из 3х, и нашел маленькую ошибку, скопировал одно и тоже поле 2 раза=(

Цена Databricks в  Databricks Units (DBUs) based on the VM instance
selected

В моем случае я трачу 42DBU в час, то есть 42DBU*0.55$=23.1$ в час.

По цене за storage я посмотрел, 600Gb в месяц стоит 107$, а 60Tb в месяц стоит 10k. В данный момент я плачу по двойному тарифу за HDInsight и за Databricks + 2x storage.
источник
2021 August 25
Инжиниринг Данных
источник
Инжиниринг Данных
Согласно исследованию 2020 - Brown, Anicich & Galinskya - Compensatory conspicuous communication: Low status increases jargon use, ученые, которые используют много жаргона чувствуют себя неуверенно и пытаются компенсировать незнание/непонимание жаргонными словечками.

Я кстати совсем перестал пытаться использовать модные слова в моей тематике, чем проще и понятней тем лучше, а вот лет 5 назад, очень даже старался быть в тренде.
источник
Инжиниринг Данных
Хорошая "библиотека". Из книги Python Crash Course, считается  одной из лучших по Питону. Сейчас читаю, очень много мелких деталей, которых раньше не встречал.
источник
Инжиниринг Данных
Методология и практика нагрузочного тестирования. Опыт Miro
Интересно можно применять нагрузочное тестировае в инжиниринге данных. С играми особенно, пока делаем новую игру, данных килобайты. В бето тестировании - мегабайты. А в день запуска это как Amazon prime day, пик нагрузки максимальный, то есть к вопросу того же размера кластера Databricks например.

Кстати согласно статье, Miro использует Looker (SaaS BI).

Делаете НТ для аналитики и инжиниринга данных?
источник
2021 August 26
Инжиниринг Данных
6 Ways to Make Data-Visualization Literacy Part of Company Culture6 Ways to Make Data-Visualization Literacy Part of Company Culture
1. Expose people to “gateway” visualizations.
2. Strike a balance of complexity.
3. Explain (a bit) about cognitive processing.
4. Stress the importance of intentional choices.
5. Teach caution with colors — and in general.
6. Consider a data-visualization style guide.
источник
Инжиниринг Данных
Leading software teams is extremely challenging and rewarding.
There are many moving parts to keep fine tuned in order to deliver meaningful
solutions to those you serve. Most of what makes you as an engineering leader
successful is the collective abilities and creativity of your team. With help from
top engineering leaders from across the world, this guide unpacks how to create
the needed environment to help your team thrive in and out of the codebase.
The insights are derived from peers who understand what it takes to create
a high-performing engineering organization.

В общем про управление инженерной командой.
источник
Инжиниринг Данных
Интересная статья Want to Improve Your Career? Become an Uncertainty Killer:

(uncertainty  = неопределенность)

I want to provide you with a singular concrete idea that you can use in your career right away. More importantly, this idea will apply to anyone who works with other people. Whether you have a boss to support, clients to impress, or individuals to manage, this specific advice will work wonders for you and your career. What is it?

Reduce uncertainty for others as much as you can.

Become an uncertainty killer. That’s it.

I guarantee that if you can make other peoples’ lives more certain, they will sing your praises. You will build trust at every turn and create allies wherever you go. People may even publicly call you “a machine” and impart positive attributes to you that you may not actually have.
uncertainty killer. That’s it.

I guarantee that if you can make other peoples’ lives more certain, they will sing your praises. You will build trust at every turn and create allies wherever you go. People may even publicly call you “a machine” and impart positive attributes to you that you may not actually have.

Простой пример из жизни. Мы запускаем новый стрим данных. Много команд взаимодействует и ожидает увидеть данных, но они не знаю, как получить досту, какие данные уже есть и тп. Я создал wiki страничку, где описал:
- источник данных и формат
- нарисовал архитектуру (прям как в 1м модуле нашего курса)
- описал, что происходит с данными и где они находиться
- добавил ссылки на сервисы (BI, delta lake, databricks, azure data explorer, Tableau, Power BI).

И расшарил документ. Для меня пустяк, а оказалася очень полезный документ, точнее изначальная точка документирования процесса. Чувствую себя  uncertainty killer. Дальше буду делать опрос для инженерных команд и бизнес команд (прям как в модуле 3 нашего курса)
источник
Инжиниринг Данных
источник
Инжиниринг Данных
Переслано от Roman Bunin
Привет!
Видел кстати какую штуку сделали по зарплатам? Там DE есть отдельно тоже, одна из самых оплачиваемых блин позиций! Я прям удивился.
источник
2021 August 27
Инжиниринг Данных
Готовлю модуль 6.2 - про введение в аналитические хранилища данных. Можно все уложить в 3-4 слайда, но я немножко покапался в гугле и нашел очень классный документ, который считается 1й статьей в журнале IBM в 1988 году:

The data warehouse concept started in 1988 when Barry Devlin and Paul Murphy published their groundbreaking paper in the IBM Systems Journal.  

А вот и ссылка на документ http://altaplana.com/ibmsj2701G.pdf

PS огромное спасибо Сергею (@erfolg5862), он уже сделал офигенные лабы:
- для 6.2 (на базе виртеальной машины терадаты, куда нужно будет загрузить данные, и потом вы узнаете про data skew, statistics и главное поковыряетесь с сетевыми настройками и командной строкой)
- для 6.3 (про Redshift, где вы создадите кластер редшифта, загрузите данные и будете использовать техники оптимизации запросов, и еще будет интересный проект по миграции on-premise dw на cloud dw redshift)

Все это дает офигенный опыт Сергею и ему будет, что рассказать на собеседовании, будьте как Сергей😋
источник
Инжиниринг Данных
Архитектура DW в 1988 году
источник
Инжиниринг Данных
Ракеты у Безоса отменные, летают туда и обратно (я про космос). Теперь можно даже сувенир купить. Скоро будут шейные массажёры продавать на Амазон в форме ракет☺️
источник
Инжиниринг Данных
Обожаю эту картинку, жизненно. Дата команды фигачут дни напролет, строют платформы, отчеты и модели. Кому? Зачем? Для чего? Зато резюму получается красивое😎
источник
Инжиниринг Данных
На 5 модуле про облачные вычисления я рассказывал про безопасность облачных решений и про security shared responsibility, которая нам говорит, что часть ответственности на клиентах, а другая на вендоре. В зависимости от service model (IaaS, PaaS и SaaS)  это по разному. У SaaS считается самая высокая ответственность за безопасность на вендоре. Но это не спасает. Во всех новостях сегодня информация про SaaS NoSql базу данных Cosmos DB https://www.reuters.com/technology/exclusive-microsoft-warns-thousands-cloud-customers-exposed-databases-emails-2021-08-26/
источник
Инжиниринг Данных
У вас есть хорошая возможность поднабраться нового опыта на бесплатном воркшопе от Azure Synapse - Azure hands-on webinar series
Data Engineering with Azure Synapse
источник
Инжиниринг Данных
Серьезный материал от Databricks - как построить аналитическую платформу из 4х частей, сумарно 8 часов:
How to Build a Cloud Data Platform
Part 1- Architecture
Part 2 - ETL Processing
Part 3 - Structured Streaming
Part 4 - Machine Learning and Business Intelligence

Минимум любого аналитического решения - Архитектура, ETL, BI. Дальше уже по необходимости DS, Streaming.
источник