Инжиниринг Данных – Telegram
Инжиниринг Данных
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
Вот с такой задачкой столкнулся - опубликовал на 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? Сейчас и потом….
Татьяна выложила свою крутую статья про Амазон на хабр, и конечно сразу же нашлись умники, которые ее уже видели на VC, и поспешили об этом написать🤣

Пожалуйста, лайкните и оставьте коммент, если вы на хабр.
Я заметил, что зарплаты меняются очень быстро. Например в Канаде за последние 6 лет базовая зарплата меняется каждый год на 10т канадских. Все hr имеет доступ к одинаковым данных о цене специалистов и все предлагают одинаковую зарплату. Faang в Канаде может лишь сверху предложить сумму стока (акций) на 4 года, что эквивалентно живым деньгам с конским налогом. Компании, которые частные, дадут вам маленькую долю, которую можно потратить только в случае успешного IPO.

Другой интересный момент, что в Канаде зарплата имеет корреляцию со стоимостью рынка жилья. Это только в ИТ. Все остальные получают столько же, сколько и 5 лет назад.

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

Пройдет какое-то время пока молодой специалист снимет розовые очки и поймет, что к чему и побежит искать работу, поменяет работу и получит минимум 50% прибавки.

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

Цените себя и свой труд и почаще снимайте "лапшу с ушей". Делайте так как удобно вам и вашей семье. Ну и конечно, если вы что-то делаете, делайте это максимально круто и качественно!
Собрался силами и опубликовал свой курс "Введение в Облачные Вычисления для всех" на хабр.

Хотел на степик, но там столько заморочек и ограничений, что решил так. Для всех всех, кто хочет знать больше про облака, будет теперь идеальный контент на русском.
Еще до Microsoft я перешел на VSCode, а теперь он доступен в браузере! https://vscode.dev/
Сейчас я в библиотеке University of British Columbia, мне попался энциклопедический словарь, в нем я нашел слово, data(множественное для datum), и вот его значение(я)
Придумал как объяснить SMP vs MPP. Вы же знаете, что ресурсы можно масштабировать вертикально, как у SMP баз данных, и горизонтально, как у MPP баз данных. Карьерный рост - это вертикальное масштабирование, и оно не дает значительного прироста в деньгах, а вот горизонтальное масштабирование может - удвоение, утроение работ и тп. 😇