Инжиниринг Данных
23.5K subscribers
1.98K photos
56 videos
192 files
3.2K links
Делюсь новостями из мира аналитики и карьерными советами.

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

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

№5017813306

Реклама:
https://almond-rule-130.notion.site/1199f595f76a8030ba1be1e607c9a8ce
Download Telegram
Я бы хотел записать модуль datalearn в Half-Life VR. Пример учителя математики - https://youtu.be/R3g9jrqjOZs
Точно учитель года!
Если вы не работали в Амазон, вы никогда не поймете это сообщение. А все очень просто, в Амазон 2х факторная авторизация и они использую USB/USB-C токены - https://www.yubico.com/products/

Чтобы его активировать, надо дотронуться и он нагенерит такую строку, вот и получается, что в чатах все время такие сообщения выскакивают, если случайно дотронулся🤗
Настолько нехватка Data Engineer в Северной Америке, что Slalom Build решил учить своих. Практически тоже самое, что мы делаем на datalearn, но уже на входе ожидается, что люди знают модуль 1-3 или 1-4, и они обучают облаку и современным тулам.

Вот взяли бы меня директором по data engineering год назад, я бы им помог, но предложили principal data engineer взамен, что было не так интересно.

Последние 3 недели я делал исследование про позицию data engineer. Я пообщался с 20+ компаний в Канаде и Штатах и понял насколько нехватка кадров, просто катастрофическая. Я напишу статью про все эти компании на хабр, про их стек и требования к кандидатам и про то, как важно ценить каждого кандидата и не косячить HR.

Очень часто, когда HR был в процессе, все выходило из под контроля и это только мешало. Самое важное для HR это обратная связь в течение 24ч. Иначе “шеф, все пропало”(с).
Можно узнать какие новы фичи готовит нам индустрия у Snowflake:

SNOWDAY - The View Ahead
Snowflake continues its rapid pace of innovation across the Data Cloud. Join this half-day event to hear the latest advancements and how they enable customers to continuously evolve their business in new ways.


https://www.snowflake.com/snowday/?utm_cta=oracle
Пример 1 SQL Style Guide: https://github.com/haleemur/sql-style-guide
Пример 2 SQL Style Guide: https://gist.github.com/mattmc3/38a85e6a4ca1093816c08d4815fbebfb
Пример PySpark Style Guide: https://github.com/palantir/pyspark-style-guide

Какие есть еще варианты по аналитике?
"Having things explained in class sounds somewhat complicated but after finding out there is a manga explaining about databases it made me feel relieved that databases isn't as stressful than I thought when I started reading this manga. I recommend this book to those who are visual learners"
Сегодня я впервые посвятил день dbt, это результат работы на картинке.

Dbt и Postgres были развернуты в docker, нужно было создать dbt sql модели, чтобы ответить на вопросы и по необходимости использовать зависимости. Все про все заняло почти 7 часов.

Большое спасибо ребята кто пришел в zoom и вы до 1 ночи крутили dbt и docker! День явно прошел не зря!🔥
Вот с такой задачкой столкнулся - опубликовал на Stackoverflow.

Идея проста. Spark умеет делать stream. Но это на самом деле больше microbatch, что вполне подходит.

1. Каждый раз, когда новый JSON файл появляется в Azure Blob Storage он его автоматически загружает в dataframe командой spark.read.
2.Дальше мы можешь его минимально трансформировать.
3. И сохранить уже в наше озеро данных, и в нынешних условиях в формате Delta. Но можно и просто классический parquet.

Я сейчас не буду уходить в подробности, как это работает, но на курса datalearn буду, но не скоро🤪

То есть, мы закидывал все новые данные в одну таблицу в потоке, где у нас данные делают APPEND. Дальше, есть несколько вариантов, как прокидывать эти данные в STAGING таблицы, но при условии, что это тоже APPEND.

(APPEND - значит, добавить строки, другая операция OVERWRITE - полностью перезаписать все.)

Интересный момент начинается, когда мне нужно обновить таблицу фактов. Я уже не смогу сделать простой APPEND, мне нужны исторические данные и новые данные, чтобы посчитать, например WINDOW FUNCTIONS и потом обновить изменения.

В классическом DW, мы я буду брать исторические данные, например за 7 дней, и уже писать логику для MERGE (где решать UPDATE или INSERT). В delta lake есть MERGE тоже, но я боюсь он будет умирать на большом объеме и я не понял как сделать переход от Stream к Batch. Конечно, я буду пробовать разные подходы и смотреть как лучше, но вдруг уже кто-то делал и знает как лучше совершать этот переход?
Новости из индустрии:

Implement a slowly changing dimension in Amazon Redshift - тут все понятно из названия. Обычно SCD происходит в ETL (как в модуле 4 мы делали на Pentaho), но никто не запрещает делать это и в SQL. После нашего воскресного урока по DBT, я теперь знаю, что можно смело брать эти запросы и класть в dbt sql model.

DBT at HomeToGo - очередной кейс про построени DE решения с помощью DBT и Airflow.

How to ETL at Petabyte-Scale with Trino - SalesForce использует Trino. Для меня это новый ETL инструмент: Trino (formerly known as PrestoSQL) is widely appreciated as a fast distributed SQL query engine, but there is precious little information online about using it for batch extract, transform, and load (ETL) ingestion (outside of the original Facebook paper), particularly at petabyte+ scale. Кто нибудь смотрел?

Announcing OpenMetadata - важность метаданных в аналитических решения понятна, используем, например для создания автоматическо документации или конфигурации решения. А что делает этот продукт я не знаю наверняка: We are announcing a new open source project OpenMetadata to achieve the goals of reimagined metadata. The project defines specifications to standardize the metadata with a schema-first approach. We have built a centralized metadata store that integrates with popular systems and services in the data stack to collect, store, and index the metadata with clean APIs for creating, modifying, and serving metadata. Finally, an intuitive web UI for discovery and user collaboration around data.

An ML-Based Framework for COVID-19 Epidemiology - статья про подход к моделирования COVID

Native Support of Session Window in Spark Structured Streaming - databricks добавил возможность использования оконной функции для streaming.

Designing the New Event Tracking System at Udemy - Udemy рассказывает о модернизации своей системы. Согласно моей шкале Gentle - Midlevel - Hardcore я бы отнес к последнему, такое за пару часов в одиночку не слепить, как например при использовании Snowflake+Matillion.
Обновление по нашему сообществу:
1. Телеграм канал перевалил за 10т и является топ каналом по инжинирингу данных и аналитике в русско язычных сообществах. Наш чатик всего 400 человек и там весело.

2. В Slack 4100+ людей, это значит именно столько людей зарегистрировалось на datalearn за год.

3. YouTube тоже подрос - 6.5 тысяч подписчиков.

4. Реклама продаются и деньги я стал переводить в приют для собак Зоорассвет в Москве, но не все. Часть денег оставляю на русской карте, например недавно бабушке распечатал 40 фотографий внуков в Канаде и принесли домой🤗, но на самом деле я коплю, если вдруг решим делать какой-то продукт в дата или для даталерн.

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

6. Наше сообщество и курсы datalearn начинают котироваться в индустрии, возможно годик другой и наши выпускники будут работать во многих компаниях по всему миру и смогут помогать другим людям. Как ни крути, все кто работает в этой области получают полезные знания, делаются опытом или создают свой бренд или портфолио через вебинары, переводы или лабы. Все просто, у вас есть все необходимое, чтобы преуспеть, мы лишь направляем и создаём контекст.

7. Datalearn de-101 можно разделить на 3 части:
1. Foundation (модуль 1-4).
2. Modern data engineer (модули 5-9).
3. Advanced (модуль 10-12). Тут я сам не эксперт, но я смогу добавить контент куда копать и сам расскажу с чем работал из этого.

Для работы в 90% случаев хватает всего до 9 модуля.

8. Я отлично понимаю рынок на западе и в России. Мой опыт релевантен для запада 💯. В РФ проблемы из-за ограничений и больше open source, как результат нужно доп скилы ковырять все это добро в контейнерах или кастомизировать vanilla версию ПО и ещё проблемы с конфигурацией on-premise. Но главное начать, а там видно будет.

9. Огромная нехватка кадров по дате везде. Тут важно понимать, что резюме специалистов по теме очень много, а вот людей кто понимает мало. Можно научиться нажимать кнопки, создавать контейнеры - это how. Но нужен контекст и опыт, чтобы понять why and what. Это и есть миссия datalearn попытаться объяснить и донести, зачем это все, как это выглядит с высоты птичьего полета. И мы отлично справляемся.

10. На создание datalearn было потрачено бесконечно много часов. И практически 0 рублей. Только платим за домен и тильду.

11. Мы провели несколько онлайн встреч, где решали задачки собесов по теме, это было мега круто, мне не хватит слов описать, но это интересней чем смотреть сериалы или играть в игры. Мы должны это делать чаще и вы делайте по возможности.

12. Лично я очень вырос и развивался в области аналитики и инжиниринга данных, и большую роль в этом сыграло сообщество. У вас точно такие же возможности, так что participate.

13. По планам дожать 9 модулей. В этом году хочу закрыть 6 и 7. И в 1м квартале следующего 8.

14. К сожалению, как вы знаете, все бесплатно не ценится. И когда я закончу курс мы должны что-то сделать, чтобы добавить ценности нашему бесценному контенту. Одна из идей брать деньги (замораживать) сумму для каждого модуля и возвращать ее, если сделана домашка и брать маленькую комиссию на оплату сервиса.

Как обычно ваши идеи welcome!

PS всем спасибо, сообщество дало виртуальных друзей и помогло пережить crazy times:) ну а теперь, всем за работу, как говориться надо "рубить капусту" и "косить бабло", пока рынок горячий🐒
👍1
Татьяна сделала офигенный перевод статьи про Amazon подход - Working Backwards. Если вы про аналитику и данные - must have прочитать!

Статья топ! Без шуток. Поставьте лайки и поддержите комментом.

Таня сейчас бизнес/продуктовый аналитик в ДомКлике от Сбербанка, планирует развиваться в продуктовой аналитике и data science. Верит в большой потенциал у этого направления.

Она из химической технологии и науки перешла в Анализ данных, любит математику!! Но не Олимпиадница)))
Spark летит в космос! Технология занимает 1-ое место среди технологий для для дата инжиниринга.

12 октября вышло обновление Spark 3.2 в котором много улучшений. Интересное это ANSI SQL. Это говорит о доминировании SQL в индустрии. Скоро уже Pyspark не нужен будет, все можно будет сделать на SQL, так что налегайте на курс Анатолия SQL-101 и модуль 2 DE-101. Основная идея Spark - это не только упростить разработку, но и помочь мигрировать legacy data warehouse на Spark Delta Lake.

Databricks (коммерческий Spark) выпустил Runtime 10:

Introducing pandas API on Apache Spark - это мы обсуждали недавно, про замену Koalas.

Completing the ANSI SQL - ну как же без SQL.

Productionizing adaptive query execution to speed up Spark SQL - используют Adaptive Query Execution

Introducing RocksDB statestore to make state processing more scalable - если мы используем Spark Streaming и Autoloader, RocksDB используют для записи файлов, которые были загружены.
Еще один перевод статьи от участника нашего сообщества, Евгения, - The Rise of the Data Engineer. Это статья одна из самых популярных в мире на тему инжиниринга данных. Maxime Beauchemin знал о чем писал, он же создавал Airflow и Superset.

Евгений работает DA/DE в Сбер Первом над развитием аналитики маркетинговых кампаний для премиальных клиентов в различных каналах коммуникации.

Дополнительно опубликована статья на Яндекс.Дзене:
https://zen.yandex.ru/media/id/61706aa4298d6612db1752e5/karera-injenera-dannyh-61706ab241503a44655e7d01

С вас лайки для автора, чтобы еще переводили😇

Предисловие

Я присоединился к FAANG в 2011 году как BI-инженер. К моменту переезда в 2013 я был инженером данных.

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

Моя команда была на передовой этой трансформации. Мы развивали новые компетенции, новые пути решения задач, новые инструменты, и, чаще всего, отвергали традиционные подходы.

Мы были первопроходцами, мы были Инженерами Данных!
Мы добавили в slack новый канал #data_news_from_the_world которые будет вас сам кормить новостями Databricks, snowflake, Tableau и другими. А вы просто выбирайте, что вам нравится.
Недавно полистал эту книжку, вышла недавно. Книга не фонтан, подойдет для тех кто планирует работать в облаке Azure и никогда не работал там, но есть уже опыт в data engineering.

Книга вышла в августе 2021 и в ней 600+ страниц.

Вот ее содержание:
Part I. Getting Started
Part II. Azure Data Factory For ELT
Part III. Real-Time Analytics In Azure
Part IV. DevOps For Continuous
Part V. Advanced Analytics
Part VI. Data Governance

В книге вы узнаете про SSIS, ADF, Synapse Analytics, DevOpse, Azure Stream, и много других ключевых слов, даже есть Purview.


Как вы видите есть вообще все, что только возможно. Но и без глубокого погружения.
Анилитическое хранилище данных Snowflake появилось в 2015 году и порвало всех конкурентов - on-premise (Oracle, Teradata, Netezza и др) и облачных (Redshift, Azure SQL DW, BigQuery).

https://youtu.be/CzrOa15QbWk

Продукт был создан с 0я выходцами и Оракл и они понимали проблемы индустрии и знали о возможностях облачных вычислений. И подарили нам замечательный продукт, где при помощи SQL, мы можем обрабатывать терабайты данных и не думать слишком много об организации данных.

Snowflake одноверменно SMP и MPP, если вы смотрели другие уроки этого модуля, то вы должны знать, что это!;) Огромное спасибо команде снежинки за то, что они дали огромный пинок всей индустрии и заставили других вендоров шевелиться и улучшать их продукты. В Северной Америки снежинка в топе хранилищ данных среди организций и больше половины организаций от мало до велика использую снежинку как свое хранилище данных.

Кстати, а вы знали, что Snowflake - это Lakehouse - смесь хранилища данных и озера данных? Теперь точно знаете!:)

В этом уроке вы узнаете про:
📌 Историю Snowflake
📌 Материалы по изучения продукта
📌 Выход на IPO
📌 Кейсы миграции
📌 Архитектуру и особенности снежинки
📌 О продукта экосистемы снежники - SnowCLI, SnowPipe, SnowSight, SnowPark
📌 Ключевые фичи - Time Travel, Data Sharing, Zero Cloning
📌 Экосистему партнеров и конкурентов снежинки

На лабораорной работе:
📌 Я вам покажу как создать бесплатный кластер снежинки
📌 Загрузить данные SuperStore в хранилище данных
📌 Создать Database, Stage, IAM user (AWS)

Дополнительные материалы:
📌 The Snowflake Elastic Data Warehouse Paper
📌 Snowflake, Anchor Model, ELT и как с этим жить
📌 Обзор первого эластичного хранилища данных Snowflake Elastic Data Warehouse
📌 Пример архитектуры аналитического решения с использованием платформы Snowflake
📌 Руководство по аналитике для основателя стартапа
📌 Вебинар ДатаЛерн SNOWFLAKE ИЛИ КАК БД ВЫБИРАЛИ / НИКОЛАЙ ГОЛОВ / MANYCHAT

В качестве лабораторной работы вы можете:
📌 Выполнить оффициальные tutorial Snowflake
📌 Сделать близкий к реальному кейс с SalesForce, Fivetran, Snowflake, Tableau - Zero To Snowflake
📌 Сделать упражнения модуля 4 datalearn DE-101 при помощи SQL и Pentaho DI и заодно понять почему ETL это плохо для Cloud DW;)
📌 Зарегистрироваться и пройти бесплатные курсы Snowflake Data Academy
Hype Cycle for Data Management, 2021 где Lake House на взлете! https://databricks.com/p/ebook/gartner-hype-cycle-for-data-management-2021
Учите Data Engineering и Data Science? Сейчас и потом….