Инжиниринг Данных
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 | DE - 101 | МОДУЛЬ 7-5 SPARK SQL и SPARK функции

Мы уже познакомились с Spark и писали запросы с помощью PySpark, так сказать Python flavor. А теперь мы посмотрим на Spark SQL

В этом видео вы узнаете про:

📌 Методы SparkSession для работы с SQL
📌 Как создавать таблицы и вьюхи
📌 Виды таблиц - Managed vs Unmanaged
📌 Примеры SQL запросов в PySpark
📌 Кеш в Spark
📌 Результат SQL запроса в DataFrame и наоборот
📌 Пример работы с различными файлами в Spark - Parquet, CSV, JSON, AVRO, ORC
📌 Пример использования Spark для бинарных файлов и изображений
📌 Функции и операции Spark
📌 UNION, JOIN для DataFrame
📌 Window Functions
📌 UDF
📌 Партиционирование данных и оптимизация с командами coalesce, repartition.

В качестве лабораторной работы вам нужно будет выполнить все запросы из примеров в CLI и Databricks.
❤‍🔥63🫡10🌭1
Годами у меня вырабатывался рецепт быстрого входа в профессию. Вы спросите в какую профессию? Я точно не люблю использовать такие слова как BI инженер, дата инженер, аналитик и тп, потому что когда вас берут на работу в 80% случаях они сами не знают как должна называется ваша должность, и что вам нужно будет делать. называю это модным западным словом Individual Contributor (IC) в области связанной с данными. Именно про это этот канал, datalearn.

Для успешного data IC, вам нужно:
- Понимать зачем аналитика и данные
- Как можно использовать данные, чтобы помогать бизнесу/продукту двигаться вперед

- Понимать как выглядит типичная data команда, что они делают и как помогают бизнесу в измерении эффективности
-
Знать 5-10 метрик показателей и что вообще такое метрика? Вот есть у вас таблица с данными, как из нее получить метрику? Лучший книга для этого Lean Analytics. Закроет вопрос метрик и показателей навсегда

- Понимать какие форматы данных бывают и уметь с ними работать (всего можно 3 знать CSV, JSON, PARQUET)

- Знать SQL отличное - главный технический навык для работы с данными

- Уметь грузить данные в БД (база данных) и выгружать из БД (как угодно) - это и есть ETL, и конечно же трансформировать эти данные внутри БД (это и есть data pipeline или ETL Job), а последовательность data pipelines/etl jobs называется Direct Acyclic Graph (DAG)

- И если вы вдруг будете выгружать/загружать, то неплохо бы поставить это дело на расписание - data orchestration/scheduler

- Не боятся слово КОД, SQL это тоже код. Это всего лишь инструкции для машины и chatGPT вам на пальцах расскажет про любой код

- Ну само собой вам будет легче писать запросы, формулы, и разбираться в чужом коде с chatGPT (ваш настольный ассистент), к сожалению многие еще не используют его

- Не боятся командной строки и знать 10-15 основных команд (навигация, текстовый редактор)

- Выбрать одну IDE (редактор кода) и привыкнуть к нему - из бесплатных самый лучший Visual Code

- Знать один BI инструмент достаточно хорошо и уметь подключаться к БД

- На вопрос - Почему медленно работает и как решить проблему отвечать нужно посмотреть план выполнения запроса, то есть понять как получить тот самый план выполнения SQL запроса для вашей БД и как его можно интерпретировать с помощью google/chatgpt

- Обязательно версионность кода в Git (GitHub, GitLab, Azure DevOps). Самые простые вещи Branch, Merge, Commit, Code Review

- Простое резюме в google doc,

Конечно можно список расширять вширь и в глубь. Я постарался написать самый минимум. Python не стал указывать, так как упор на SQL. Одновременно Python и SQL будет сложно с 0. Да и много профессий, где можно без coding skills.

Если говорить про ТОП3:

1. SQL
2. Business Domain
3. BI

То есть если вы сможете на собеседовании внятно объяснить как вы помогали бизнесу с помощью данных:
- Повышать прибыль
- Понижать расходы
- Избегать рисков
- Исследовать новые фичи\продукты\рынки

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

Можете в комменты покидать ваши ТОП3 скила для успешного входа в профессию.

Ах, самый главный скил - "приукрашивать" и "сочинять". Обязательно прочитайте книгу Фантазёры Николая Носова, вот вам нужно будет прокачать этот навык, чтобы ваши первые 20 собеседований прошли успешно🦥
❤‍🔥173🫡30🙈4🐳3🍓3👻3😈2
Я работаю на одном проекте в крупнейшем телеком операторе в Канаде. Это как раз где JSON нужно сжать в gunzip. Сегодня прислали презентацию с оргструктурой ИТ, я не поленился посчитал - 120+ VPs, Sr Directors, Directors. Даже есть Director Snowflake&Ops (ага тот, самый, который хранилище данных).

Про проект с компрессией, про которую я ранее писал, у меня лед тронулся и уже данные сжимаются. В итоге у меня работает 2 способа:

- boto3+python на AWS Glue compute (без spark) - я могу запускать сотни jobs параллельно, но очень быстро все упадет из-за S3 Rate Limit (по-моему 3500 per second). Поэтому отбросил его. Но можно настроить boto3, чтобы избегать перегрузки.

- использую s3-dict-cp на дешевом кластере. С помощью питона я создал 200-300 txt файлов с S3 paths, таким образом, чтобы в одном файле было ~100-120 партиций. Ну, а дальше с помощью Shell script запустил цикл на EMR CLI и он уже берет каждый файлик и обрабатывает его, а потом помечает как processed и копирует в другую S3 папку. Код потом добавлю в гит свой.

Еще был вариант интересный про Lambda, но не добрался до него.
🍓13🗿7🦄2😈1
State of the art - замечательный Landing Page, судя по-всему сделан Airbyte. Не знаю насколько можно ему верить, но зарплата в 600к в наши дни для "честных" инженеров, мне кажется, редкость, даже в долине. Хотя после массовых увольнений акции Meta, Microsoft, Amazon пошли вверх. В Канаде, по моим подсчетам, можно за год заработать 600к+ канадских, но как было сказано в видео выше, про стоимость жизни в Канаде, очень обидно отдавать 50% на налоги, при этом содержать бомжей и дармоедов и на дом мечты, да и просто на дом, все равно не хватит. Не будем о грустном, лучше про опрос.

В нем поучаствовало 886 человек. Я думаю, что это определенная аудитория, которая использует популярные решения, то есть высокая вероятность bias.

Сразу видно вывод - Insight 1: Airbyte and Fivetran are clear leaders for Data Ingestion layer. Ну, понятно же, за счёт счет банкет. Fivetran использую, работает Окей.

Как же без dbt - Insight 2: dbt has most positive sentiment for Data Transformation, but pandas is actually most used. Вообще сравнивать dbt и pandas, ну такое. Наверно где-то потерялся Excel, тем более dbt for Excel существует.

Insight 3: Snowflake and BigQuery clearly at the top for Data Warehouses; Azure Synapse lagging behind badly - я даже больше сажу, Snowflake явно лидирует. А Synapse уже заменили на Fabric. И Microsoft не будет тягаться в категории хранилищ, у них платформа, у других даже шансов нет. Обычно сравнивают Databricks vs Snowflake, ну тут решили не палить конкурента.

Insight 4: For Data Orchestration, most people are still using self hosted Airflow, but Dagster is coming up the ranks - действительно Airflow очень популярен. Про dagster не знаю, а вотPrefect используем. Да и с Airflow open source очень много проблем, никакой стабильности.

Insight 5: For Business Intelligence, the giants Looker and Tableau are still ruling the roost, but there is also significant churn from Tableau to the newer set of solutions - Power BI явно не популярен среди тех, кто использует dbt, snowflake, aiflow. Оно и понятно, это совсем другая аудитория.

Insight 6: For Data Quality, Great Expectations and Monte Carlo are leading the pack, but more people have not yet tried or explored the tools than have - мне тоже очень нравится MonteCarlo. Не раз уже спасал своими алертами. Там свои алгоритмы, которые собирают различную статистику по использованию, загрузки таблиц. Действительно полезная вещь. Но можно тоже самое и бесплатно сделать.

Insight 7: For Reverse ETL, Hightouch and Census are neck and neck, but the vast majority of the market is still up for grabs. Использую только Hightouch. До сих пор не очень понял ценность этих игрушек дорогих, все можно сделать через API, но время сокращает.

Insight 8: For Data Catalogs, DataHub, Atlan and Amundsen are leading for now, but the vast majority of the market is also up for grabs - Я сейчас работаю с Alation. И в другом месте добавляем DataHub. Все каталоги бесполезные без кураторства.

Еще из интересного список podcasts&youtube channels&data communities.

Чего не хватает:
- Решений по стримингу и возможно use cases по стримингу
- предпочтения по языку для работы с данными, не у всех же Python
- соотношения code vs SQL для работы с данными
- вообще кто-то среди них использует облачный hadoop?
- DevOps для аналитики (terraform bicep, cloud formation), git, CI/CD
❤‍🔥26🗿3
Интересная графика, сколько в среднем инженер работает 2 года на одном месте, потому что, если вы останетесь, то вы будете получать на 50% меньше, чем могли бы.

Все смены работы, обычно на повышают зарплату на 40%. А когда я сидела в Амазоне 5 лет, и отстал на 80% от рынка.

Сидеть хорошо, если у вас есть другие интересы или источники дохода. А иначе, ни денег, ни знаний.
🗿53❤‍🔥8🐳7👨‍💻4🙈3🦄3
The State of Data Engineering 2023 - еще один landing page, но уже от LakeFS. Я не использовал LakeFS, по-моему это решения для версионности озера данных и работает с различными платформами - Athena, Spark, Kafka, Presto. Если кто использует, расскажите на пальцах, что за штука и зачем? Век живи, век учись! А лучше вебинарчик! Я вообще за любой вебинарчик!🥹

В отчете следующие категории:
- Ingest - решения для стриминга и batch, ETL/ELT, low-code/no-code/code. Многие решения выглядят знакомыми и популярными. Действительно, все они могут грузить данные из источника в таргет.

- Data Lake - решения, которые хранят файлы - Hadoop, S3, Azure Storage и тд. Тоже, все выглядит логично.

- Metadata - состоит из: Metastroe пример Hive каталога, AWS Glue, Open Table formats (Lakehouse): Hudi, Delta, Iceberg, Data Version Control Infra.

- Compute Engines - есть Distributed Compute (имеется ввиду только вычислительные мощности как Spark) и Analytics Engines (привычные хранилища данных, тоже кстати distributed)

- Pipelines - категория Orchestrations (scheduler/cron для выполнения ETL jobs в заданной последовательности aka Direct Acyclic Graph) и Data Observation - для мониторинга качества данных

- Practitioners Apps - WTF? Тут и MLOps и data centric AI/ML и ML observability и даже есть dbt в Analytics Workflow категории. А вот BI нету, как так?

- Governance - решения для дата каталогов.

Вообще life-hack для вендоров:
1. Покупаете классный домен
2. Делаете сайт визитку с красивыми графиками/опросами/выводами
3. ChatGPT пишет вам отчет, что ваш тул лучший среди лучших

Хотя, наверно, все и так это делают😅
❤‍🔥7🐳4🌭2🎄2
VK Cloud Conf: как перенести лучшие практики разработки ИТ-компаний в классический бизнес

Когда: 8 июня, 12:00
📍 Где: Москва
⚡️ Last call: успевайте зарегистрироваться на конференцию для руководителей компаний и ИТ-специалистов разных направлений. Регистрация закрывается 7 июня в 12:00

В программе:

🔹 Как повысить эффективность разработки ИТ-решений с помощью облачных сервисов.
🔹Подходы к работе с данными: примеры масштабных дата-решений, особенности и результаты проектов.
🔹 Тренды и примеры миграции на российские базы данных.
🔹 Лучшие практики облачной безопасности.
У вас будет возможность задать вопросы экспертам и узнать мнение коллег из других компаний. Не упустите возможность получить новую информацию, сделать свой бизнес эффективнее и повысить безопасность работы в облачной среде.

👉 Зарегистрироваться

#реклама
🌭5🍌4❤‍🔥1🙈1
4 часа и вы в теме! Бесплатные курсы от Deeplearning:

- ChatGPT Prompt Engineering for Developers
- LangChain for LLM Application Development
- How Diffusion Models Work
- Building Systems with the ChatGPT API

Не уверен, что вам это поможет, но трендово же?!
🌚8🍌6❤‍🔥3🍾3
Forwarded from Книжный куб (Alexander Polomodov)
Путь аналитика. Практическое руководство IT-специалиста

Лет шесть назад я прочитал эту книгу Веры Ивановой и Андрея Перерва и она показалась мне достаточно неплохой. Плюс книги в том, что авторы довольно структурировано описывает карьерную лестницу аналитика, приводя список требований к каждой из ступенек, а также указывая способы перехода на новую ступеньку. Также в книге есть много указаний на материалы, которые реально стоит изучить. А минусы в том, что ряд моментов, указанных автором, относится к дискуссионным и с моей точки зрения не нужны:) Если говорить про содержание книги, то она состоит из 7 глав, среди которых есть вводная часть, шаги карьерной лестницы аналитика и заключение, а также много примеров и шаблонов в дополнительных материалах
1. Общие понятия
2. Профиль и квалификация аналитиков
3. Младший аналитик
4. Аналитик
5. Старший/ведущий аналитик
6. Начальник отдела анализа
7. Итак

Итого, книга показалась мне полезной для прочтения любому, кто идет или планирует идти по этому пути аналитика.

#SoftwareDevelopment #Software #Analyst
🐳19❤‍🔥7🌚5
7 июня пройдёт Alfa Analyze IT Meetup — встреча для системных аналитиков. Основные темы и спикеры:

🎯 Как аналитику проще погрузиться в архитектуру?

Борис Пишванов и Михаил Салахов, Solution-архитекторы из Альфы, расскажут, почему может твориться «дичь» на проекте и как из неё приготовить «шашлык»

🎯 Как вести фронтовую документацию рядом с кодом

Игорь Савинов, System Analyst, поделится тем, как ведется документация в Альфа-Банке, какие проблемы приходится решать

🎯 Метрики эффективности процессов системного анализа

С Сергеем Воробьевым, Head of Efficiency Development в Альфе, разберёмся в процессах погружения в компетенции

🎯 Куда расти системному аналитику?

Юлия Лебедева, Competency Lead в Сбере, Анатолий Олейнер, Software Architect в СИБУР диджитал и Иван Стефу, Product Owner в Альфа-Банке обсудят пути развития для аналитиков

Когда: 7 июня в 18:30
Где: Москва, пр-т Андропова, 18, к. 3 или подключайтесь онлайн

Регистрируйтесь, чтобы не пропустить! Количество мест ограничено.

#реклама
🌭6❤‍🔥3🌚1
Аналитика данных - это не только о числах и создании дашбордов. Это о понимании бизнес-контекста, задавании правильных вопросов и интерпретации данных в бизнес рекомендации и решения.

Эффективные аналитики и инженеры обладают сочетанием технической экспертизы, бизнес проницательности и критического мышления, позволяющих преобразовывать сырые данные в пользу для бизнеса.
❤‍🔥58🌚6🗿6🤷‍♂1🌭1
Офигенный пост про то, как давать talks, то есть делать презентации. Я уже давно на своем опыте понял, что презентация должны быть веселыми, с шутками, картинками и мемами, чем проще, тем лучше. Люди хотя отдохнуть, развлечься или отвлечься. Поэтому грузить их нудятиной - ну такое... Но 95% выступлений именно такие 😬 бесполезные, скучные, waste of time. Поэтому, если есть возможность выступать перед аудиторий, постарайтесь не грузить людей, доставьте им удовольствие.
Мое собственное самое любимое выступление было в Москве, в Mailru - Как технологии помогают Amazon быть самой клиентоориентированной компанией на Земле? Я очень действительно потратил много времени на подготовку, и на контент, и усилия оправдали себя.
❤‍🔥26💘1
Вот и у Apple вышел AR. Посмотрим скоро, можно ли реально работать в нем или нет, или снова немножко buzz words.

Microsoft HoloLens AR- фигня
Oculus Quest VR - фигня
Valve headset VR - фигня
Apple AR - ?

Тут вообще важно правильные термины использовать.

VR - мы смотрим в маленький телевизор (экран), а вот AR - мы смотрим сквозь. Я как то пытался записать видос для Data Learn в HoloLens, но так все тормозило и было криво, что забил.

Говорят, в VR взрослый контент хорошо заходит, но не пробовал еще, интересно в AR там как с этим?!
🌭19🍾4🌚3❤‍🔥1🗿1
⚡️ CockroachDB vs YDB vs YugabyteDB

Нашли ультимативный гайд по базам данных на английском языке.

В статье 🇬🇧
• исследование БД на основе популярного бенчмарк-теста YCSB;
• «сравнение яблок и апельсинов» или небольшая ретроспектива в историю исследований баз данных SQL;
• проверка производительности БД на разных сценариях.

Есть ли одна лучшая СУБД SQL, узнайте по ссылке 😉

#реклама
🗿8👾4❤‍🔥2🌚2🐳1🍾1
Хорошая статья на обзор продуктов для сбора событий внутри продукта - Amplitude, Mixpanel, Heap - Leaving product analytics - an analysis of the current state of product analytics and beyond

What is product analytics (in a nutshell) -

an approach to understanding how users or accounts use a digital product? With a focus on feature usage, cohort analysis, and based on retention. Product analytics is based on event data that is sent when users or systems perform a specific action. (ok, that is really short). But it has the important ingredients that we need in the next steps.

Лично для меня продуктовая аналитика - это самый интересный аспект работы. Общение в основном происходит с продукт менеджерами, как правило, они все очень проактивные и result oriented. Всегда есть понимание задачи, фичи, и как это дело измерять. Как правило задачи очень схожи вне зависимости от продукта.

А если вы еще прочитаете книги - Escaping the Build Trap: How Effective Product Management Creates Real Value и Lean Analytics то будет совсем замечательно.

Но есть одно НО, даже в этой статье. Прослеживается желание использовать продукт для продуктовой аналитики как главный источников для всех данных и insights. Даже в статье автор пишет, что хочет BI и Data Warehouse встроенные в продукт, наивный.
❤‍🔥13
Замечательно!

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

На честности далеко не уехать, точнее много не заработать.

А хотите быть хорошим(ей), тогда можно собак бездомных покормить, или помочь какой-нибудь no-profit организации.

Я вот в школу к детям хожу, coding преподаю, видео курсы записываю. Там я могу быть честным🦥
❤‍🔥45😈13🐳6🙉5🌚3
26 Июня в Лас Вегасе - Snowflake конференция. Путевку мне купили и я записался на следующие треки:

27 June
WN211A: What's New: Apache Iceberg in the Data Cloud
DE206: Fast Ingest with Snowflake
WN201A: What's New: Snowflake Compute Infrastructure
MD206: Architecture Patterns with Snowflake
DE208A: Data Engineering with Python in Snowflake
OS207A: Best Practices for Snowflake's Native Cost Optimization Capabilities
DE200A: Hands-On Lab: Data Engineering Pipelines with Snowpark Python


28 June
AA111: Bringing Trust in Data to the Center of the Room with dbt and Druva
ML106: Hands-On Lab: Getting Started with Snowpark for Machine Learning on SageMaker
MD221: Build an Intelligent Data Mesh with Snowflake and Ascend
AD306: Managing Change: DevOps in Snowflake
DE305: Near Real-Time Ingestion and Transformation on Snowflake
WN207B: What's New: Machine Learning with Snowflake (Repeat)

29 June
WN208B: What's New: Streaming with Snowflake (Repeat)
MA208: Snowflake on Snowflake: Supercharge Marketing Analytics with Snowflake and Streamlit
DE209: Building Pipelines with Dynamic Tables
DE218B: Hands-On Lab: Using dbt to for Analytics and ML-Ready Pipelines w/ SQL & Python
DE308: Orchestrating Data Pipelines with Snowpark dbt Python Models and Airflow Technical Deep Dive

Последний раз был на такой party в 2017 году, тогда после Night Data Party хотел за кеш купить лицензию Табло.🥴
❤‍🔥25🐳3👨‍💻1
Вот рекомендация книг в 2023 году! (взял в LinkedIn). Такое впечатление, что хорошие книги перестали писать, и все постят книги 10 летней давности.😒
🍌25🐳9🤷‍♂7🗿6❤‍🔥3
Я почти целый года работал с Microsoft Synapse (Dedicated Pool and Serverless), Azure Data Explorer (real time analytics) и занимался подготовкой к релизу Microsoft Fabric.

Я все время скучал по Databricks. И вот я снова работаю с Databricks вместо Synapse. Кстати узнал, что Synapse Spark Pool прям совсем не пошел, походу только S&P500 мучаются с ним из под палки. Сейчас снова изучаю тренинги как "класть кирпичи"👌
👨‍💻11❤‍🔥8🗿5