Инжиниринг Данных – 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
Эх табло попало под санкции и теперь непонятно, что будет дальше, может на торенте появится “таблеточка” для активации сервера, а может все перейдут на open source или китайские аналоги.

На всякий случай, скоро будет конференция по табло - TC 2022. Вот некоторые ссылочки:
Register for TC22 tableau.com/conference
Snap a photo on - tc22.virtualbooth.co/

Я состою в Vancouver Tableau User Group и я все жду, когда же мы встретимся offline на user group в местно офисе Табло. Я к ним даже откликался на вакансию Principal Data Engineer зимой, но потом понял, что не потяну, там нужны были java и C.

Я еще откликался в Rivian (электро машины из Seattle) на Staff Data Engineer, тоже не получилось, даже никто не написал. Было еще 2 собеседования с Amazon, один с Ванкувер и другой с Сиэтл, тоже зимой, но оба не дошел до конца, сам отказался. Решил окончательно разобраться с Open Source решениями для аналитики (сейчас очень активно ковыряю meltano - это аналог airbyte, бесплатные коннекторы). Скоро лето и нужно будет больше отдыхать на природе, а осенью будет видно.

Лекции по Databricks/Spark уже созрели в голове и скоро начну их записывать.

В идеале хочу потом сделать курс/уроки по Open Source решениями с docker, terraform, prefect, dbt, meltano и тп, но эти темы сложные для меня. Главная проблема, что оказывается сложно изучать этот предмет, имея свой багаж знаний по low code/no code приложений.
👍71🔥17😢6😁2
Новости по аналитике:

Meta (facebook) представила новый open source продукт - Sql notebooks - Bento (может и не новый). А в databricks можно делать SQL ноутбуки и так.

Corrections in data lakehouse table format comparisons - в этом посте собрали информацию по сравнению Delta, Hudi, Iceberg

Analytics Engineering At Mothership - пост про аналитику в компании Mothership. Используют dbt, Fivetran, Segment, Looker, и какая-то аналитическая СУБД.

Improving data reliability using tests in DBT - Классная презентация про тесты для ELT на примере dbt от компании Zoox (автономные тачки)

Из личного:
Используя вот это видео - Azure Purview - Scanning Databricks Metastores - я подключил Purview к Databricks через Hive connecter. Так как это не Microsoft продукт (hive) то соответственно ограниченный функционал по Lineage. Purview - дата каталог на стероидах на базе Apache Atlas, работает из коробки для Synapse, ADF и тп. В моем случаем с Azure Data Factory metadata ETL он бесполезен, нужно еще посмотреть как будет с Power BI. Пока только работает описание таблиц и колонок и поиск.

Хорошо продвинулся в Meltano - open source продукт от gitlab для ELT. Я только использую часть для Extract, но в нем еще есть возможность использовать dbt. Коннекторы используются от Singer. Лучшее видео по введение в продукт и его предыстория - Open source EL(T) with Meltano and Singer У меня все работает на локальной машине и на локальном docker, следующий шаг запустить это в AWS ECS (container registry) и это уже можно считать готовое решение - Extract/Ingest: Meltano, Orchestration: Prefect, Transformation: dbt, Storage: S3, Athena, Redshift, Data Observability: Datadog.

На подписке O'Reilly я смотрю Live Events теперь, сейчас смотрю:
Docker Fundamentals in 4 Weeks—with Interactivity
Docker: Beyond the Basics (CI & CD)
👍41👏5🤔1🤬1
Сегодня по расписанию будет - Python Environments and Best Practices
- Using the command line and command line applications
- How to set up projects using virtual environments
- Sharing code via git and GitHub
- Using IDE features for debugging, refactoring, and navigating Python code

В приложении презентация, ссылка на git, и reference document.
👍20🔥3👏1
Если смотрите в сторону AWS, вот свежая отличная книга Data Engineering with AWS: Learn how to design and build cloud-based data transformation pipelines using AWS

В книге очень классно все разложено про все сервисы и их назначению. Автор является AWS Solution Architect и уже много лет внедряет решения AWS.

Table of Contents
An Introduction to Data Engineering
Data Management Architectures for Analytics
The AWS Data Engineer's Toolkit
Data Cataloging, Security and Governance
Architecting Data Engineering Pipelines
Ingesting Batch and Streaming Data
Transforming Data to Optimize for Analytics
Identifying and Enabling Data Consumers
Loading Data into a Data Mart
Orchestrating the Data Pipeline
Ad Hoc Queries with Amazon Athena
Visualizing Data with Amazon QuickSight
Enabling Artificial Intelligence and Machine Learning
Wrapping Up the First Part of Your Learning Journey
👍44🤔4🤬4🔥1
В 2022 году выйдет первая книга у O'Reilly по GA - Learning Google Analytics

How Google Cloud integrates with GA4
The potential use cases that GA4 integrations can enable
Skills and resources needed to create GA4 integrations
How much GA4 data capture is necessary to enable use cases
The process of designing dataflows from strategy though data storage, modeling, and activation
👍30😁6🤔2
Проходя очередной курс на o'reilly, картинка напомнила. Вы, я думаю, можете так поставить любой другой поставщик образовательных услуг)))
😁102👍10😢4👏2
Раньше я рассказывал про gentle и hardcore инженера. Я всегда был gentle, больше любил решать задачи с low-code приложениями и фокусом на business impact. В целом такой подход работает на все 100%. Но становится немного скучновата "нажимать кнопки и кликать мышкой", поэтому фокус сместился на все тоже самое но с применением SDE, DevOps, отсюда и различные книги и воркшопы по этой теме. Согласно картинке выше, у меня куча начатых книг и курсов по этим тема, надеюсь за лето закрыть вопрос про terraform, ci/cd, python testing (для Spark), docker, open source аналитика (dbt, meltano).

В выходные посмотрел 2 тренинга. Про 1й я уже скидывал контент - Python Env best practices. Тренинг не понравился. Все примеры были на PyCharm, показывали уже готовые примеры, суть не рассказали. И самое неудобное было, что у лектора был ноутбук 13" и его расшарили, где все было в кучку и она безконца скролила в лево-право.

Зато другой воркшоп зашел на ура - Python for DevOps - Learn fiercely effective automation. На тренинге узнал много приятных мелочей про Make file, github build, action, pytest, linting и тп. Эти вещи все были знакомы, но всегда воспринимались как должное, а тут все решения было собрано с нуля, и стало все просто и понятно. У автора есть очень хорошая книга - Python for DevOps. Так же у него есть курсы по Data Engineering с AWS Lamda, Python for AIOps и тп. Лектор очень хорошо рассказывает по принципу от простого к сложному и вместе с вами строит решение с 0. Поэтому я записался на его другой курс - Pytest Tricks and Tips.

Для сравнения, я прохожу другой курс Docker Fundamentals in 4 Weeks—with Interactivity от автора Docker Up and Running. Дядька конечно мега умный, но там какой-то hardcore с готовыми решениями, больше вопросов, чем пониманию.

По terraform я решил задачку для Amazon Redshift. Следующая будет про AWS EMR + Spark + Zeppelin. К сожалению в Microsoft решили использовать Azure Bicep вместо Terraform, все там через одно место (майкрософтовское)🤪
👍39🔥6🤔1
😁162🔥29👍19🤔3🥰2🤬2😢1
https://towardsdatascience.com/scalable-efficient-big-data-analytics-machine-learning-pipeline-architecture-on-cloud-4d59efc092b5

A data pipeline has five stages grouped into three heads:

Data Engineering: collection, ingestion, preparation (~50% effort) - работа Data Engineer или ETL разработчика. Может быть и 70-80% если без DS.
Analytics / Machine Learning: computation (~25% effort) - работа Data Scientist, но только есть есть такие задачи в компании и уже готовый фундамент.
Delivery: presentation (~25% effort)
- работа аналитика или BI разработчика
👍133
Кстати один раз заказал Rolex жене в подарок на Aliexpress за 25 долларов, но так и не дошли, наверно на таможне подрезали роскошь такую
😁50👍8😢5
This is not so much an instructional manual, but rather notes, tables, and examples for Python syntax. It was created by the author as an additional resource during training, meant to be distributed as a physical notebook. Participants (who favor the physical characteristics of dead tree material) could add their own notes, thoughts, and have a valuable reference of curated examples.

Текст книги в гите автора.
👍27
А вот colab notebook с тренингом по Pandas.

The pandas library is very popular among data scientists, quants, Excel junkies, and Python developers because it allows you to perform data ingestion, exporting, transformation, and visualization with ease. But if you are only familiar with Python, pandas may present some challenges. Since pandas is inspired by Numpy, its syntax conventions can be confusing to Python developers.

У автора есть классное repo с датасетами.
🔥38👍9
На днях общался с CEO&Founder Meltano. Рассказал ему как использую его продукт и послушал про их планы.

Meltano это open source продукт, которые умеет из коробки делать E(extract) и L(load), отлично работает в связке с dbt.

Видение meltano - data platform, да и вообще аналитическое решение - это software product. Инфраструктура как код, CI/CD, и все в лучших традициях разработки ПО.

Например, если вам нужно сделать полностью Open Source решение, то вы можете использовать:
- Meltano/Airbyte для Ingestion
- dbt для трансформации данных внутри хранилища
- Airflow/Dagster/Prefect - для расписания ETL job
- Superset/Redash для BI (есть еще ряд технологий).

Звучит просто, но на деле это сложно, вам нужно знать:
- язык программирования
- основы DevOps
- bash/shell
- командную строку
- Docker
и, наверно еще чего-то.

Если у вас есть профильное образование по Computer Science, то вам будет все очень просто, а вот если вы инженер конструктор или специалист по маркетингу ваш Learning Curve займет не один год. Поэтому вам проще начать с low-code/no-code приложения, и потом уже при стабильном доходе развиваться дальше.

Кстати, этот товарищ из Нидерландов и живет в Mexico City (Мексика) и ему там нравится, так что может быть Мексика не плохой вариант, люди там явно попроще и более открытые.

Их видение продукта создать аналитическое решение (ETL, BI, DW), которое будет полностью описано как код. Уже сейчас Meltano это платформа, которая умеет запускать dbt и дружит с Airflow.

Они начинали создавать Meltano Academy, но потом подзабили. Очень заинтересованы, чтобы я на русском сделал такой проектик для datalearn.
👍73🔥20👏3🤔1
😁91🤔1
Прошел очередной workshop на O'Reilly - Bash Shell Scripting in 4 Hours. Хороший обзор команд bash. Я их часто видел, но не понимал зачем они, просто делал COPY-PASTE. Могу точно сказать, что после 4х часов, могу теперь читать и понимать Shell скрипты намного лучше. По материалам:
- Презентация
- Гит с примерами

Хотелось бы так же ответить на важный вопрос для новичков, особенно кто начинает Data Learn. У нас в требованиях есть "bash/shell". Мне всегда казалась, что это очень confusing.

Во-первых, из книги THE LINUX COMMAND LINE:

When we speak of the command line, we are really referring to the shell. The shell is a program that takes keyboard commands and passes them to the operating system to carry out. Almost all Linux distributions supply a shell program from the GNU Project called bash. The name is an acronym for bourne-again shell, a reference to the fact that bash is an enhanced replacement for sh, the original Unix shell program written by Steve Bourne.

Когда мы запускаем на компьютере terminal, как правило это ZSH на Mac или PowerShell на Windows. И это называется terminal emulator.

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

С помощью bash shell мы можем создавать программы, почти как в питоне, с циклами, переменными и функциями, но это не нужно на начальном уровне.

Самое сложное, что мне приходилось делать, это использовать bash shell скрипт, чтобы подключиться к менеджеру паролей, выгрузить секреты с использованием FOR оператора и загрузить их в Environment Variables, чтобы я смог передать их в Docker Compose.

Уверен кейсов много, но не стоит сильно заморачиваться, если не понимаете. Вам точно нужно:
- создание папки mkdir
- увидеть содержимое файла cat file
- простой редактор текста nano my_file.txt
- изменение прав доступа к папке файлу chmod
- список файлов и папок ls (ls -la)
- перемещение по папкам cd (cd .. - обратно)
- запускать скрипт ./noscript.sh или командой source
- скачивать git repo - git clone <URL> и ряд команд для создание branch, commit, push.
- иногда нужно работать с Environment Variables, например на mac os и linux они обозначаются $MY_VAR

Если это умеете, считайте вы знаете командную строку на должном уровне!🐒

PS когда много работаешь с командной строкой, понимаешь насколько неудобно все на Windows, лучше уж Mac OS или Linux для работы с данными.

Кстати, недавно открыл для себя плагин - OH MY ZSH, есть такой же и для Power Shell. Теперь одно удовольствие смотреть на командную строку и работать в ней.
👍67👏4🤬3🥰1🤔1
Новости аналитики

Welcome to the world PyScript - недавно были новости про Python в HTML, и вот Anaconda уже рассказывает про PyScript - PyScript is a framework that allows users to run Python and create rich applications in the browser by simply using special HTML tags provided by the framework itself.


Choosing a Data Catalog - дата каталог, business glossary и data lineage - все это элементы data governance. У меня уже есть неудачный опыт использования Azure Purview, поэтому стал смотреть в сторону Open Source решений. Пока мне понравился OpenMetadata от Uber. В статье автор рассматривает разные решения и подходы для документации аналитического решения - Documentation coming from analytics teams must enable anyone to quickly find and understand any data asset they’re looking for to deliver value.

Data Vault Techniques on Snowflake: Immutable Store, Virtual End Dates - Snowflake готовит серию постов про Best Practices построения data vault.

What Is Well-Modeled Data for Analysis? - автор рассматривает важность моделирования данных в хранилище данных.

Data for Product Managers (Part 1/2) - я часто говорил, что data команде нужен не начальник аналитики, а product manager, который будет управлять data продуктами. В статье рассматривают чем же занимается product manager в контексте аналитики.

Tuning Whatnot’s Data Platform for Speed and Scale - компания Whatnot рассказывает про свое аналитическое решение, технологии и принципы data engineering.
👍27🥰2
From Junior Software Engineer to Engineering Manager: a 10-year career path review. - статья про карьерный путь инженера. Несмотря на то, что он iOS разработчик, его опыт применим для карьеры любого инженера.

"Do I want to switch to a more Senior or Principle Engineer position or to an Engineering Management one?"
"How could the Engineering Management role be a great opportunity for me, my team, and my skills?"
"Why is Engineering Management difficult for your confidence?"
"Why do I feel lonely as a manager?"
🤔10👍5😁1
Data Engineering is about making data usable - отличный вариант и вообще не важно как мы это делаем, на SQL, Python или еще чего.

Правда автор умолчал про момент один - кто ему этот Jupyter Hub установил, если без инфраструктуры, то это уже для меня analytics engineer, а если мы сами сделали end to end решение, которое собирает данные, хранит и трансформирует, чтобы “making data usable”, то уже data engineer.
👍33👏1