Теперь как пользователь dbt, обязательно послушаю доклады на их конференции https://coalesce.getdbt.com/
Как я провожу собеседования на позицию дата инженера? Обычно в 3 этапа:
Этап 1: behavioral interview основаны на Amazon Leadership Principles
После Амазона, я стал использовать вопросы из behavioral interview. 3-4 вопроса, которые начинаются с фразы «Расскажи мне ситуацию, когда ты….». Такие вопросы очень хорошо помогают понять контекст, глубину и личностные качества кандидата. Чаще всего все тонут при использовании слова «МЫ» вместо «Я». То есть кандидат в команде, что-то делал, а сам не очень. Примеры вопросов:
⚓Tell me about the most complex problem you’ve ever worked on (Dive Deep)
⚓Tell me about a time when you took on something significant outside your area of responsibility, and why was that important? (Ownership)
⚓Tell me about a time when you were able to deliver an important project under a tight deadline. (Deliver Result)
⚓What’s the coolest thing you’ve learned on your own that you’ve then been able to apply in your job and perform your job further? (Learn and be Curious)
Этап 2: технический + концептуальная архитектура решения
Сначала я спрошу свои любимый вопросы:
⚓Чем отличается ETL и ELT?
⚓Чем отличается MPP и SMP?
⚓Чем отличается Data Warehouse и OLTP?
⚓Что такое Lake house?
⚓Какие методы для моделирования хранилища данных ты знаешь?
⚓Какие методы ты использовал для Data Quality в data pipelinese?
⚓Как ты будешь решать проблему производительности BI и/или ETL?
Далее можно сделать white boarding – то есть расшарить экран и порешать задачки на SQL. Python я не люблю спрашивать. Если мне нужен python, то скорей всего для Apache Spark. С Airflow я не работал. SQL для меня это язык №1 для работы с данными, все должны его знать на хорошем уровне.
И в конце можно поговорить про концептуальную архитектуру. Например, у нас есть такой-то бизнес, например облачный продукт. Бизнес-пользователи хотят знать базовые показатели/метрики. На входе есть несколько систем – Sales Force, Facebook, Google Analytics, OLTP (бэк енд). Как ты будешь строить аналитическое решение и какие инструменты будешь использовать.
Этап 3: домашнее задание
Я люблю давать полезные и интересные проекты. Например:
1. Запусти тестовый аккаунт Redshift/Big Query/Snowflake
2. Используй заданный data set (NY Taxi, GitHub или другие)
3. Построй ETL с помощью своего любимого инструмента, чтобы загрузить данные в хранилище данных и построить таблицу фактов
4. Подключи свой любимый BI инструмент и нарисуй дашборд
Такое задание позволяет оценить понимание end-to-end аналитическое решение и особенности знаний кандидата. Можно попросить использовать конкретный стек, и рассказать, как его скачать и установить.
PS По необходимости можно менять в сторону Spark, Streaming, BigData. Но как правило этого достаточно, чтобы понять насколько хороший специалист и насколько хороший у него кругозор.
Этап 1: behavioral interview основаны на Amazon Leadership Principles
После Амазона, я стал использовать вопросы из behavioral interview. 3-4 вопроса, которые начинаются с фразы «Расскажи мне ситуацию, когда ты….». Такие вопросы очень хорошо помогают понять контекст, глубину и личностные качества кандидата. Чаще всего все тонут при использовании слова «МЫ» вместо «Я». То есть кандидат в команде, что-то делал, а сам не очень. Примеры вопросов:
⚓Tell me about the most complex problem you’ve ever worked on (Dive Deep)
⚓Tell me about a time when you took on something significant outside your area of responsibility, and why was that important? (Ownership)
⚓Tell me about a time when you were able to deliver an important project under a tight deadline. (Deliver Result)
⚓What’s the coolest thing you’ve learned on your own that you’ve then been able to apply in your job and perform your job further? (Learn and be Curious)
Этап 2: технический + концептуальная архитектура решения
Сначала я спрошу свои любимый вопросы:
⚓Чем отличается ETL и ELT?
⚓Чем отличается MPP и SMP?
⚓Чем отличается Data Warehouse и OLTP?
⚓Что такое Lake house?
⚓Какие методы для моделирования хранилища данных ты знаешь?
⚓Какие методы ты использовал для Data Quality в data pipelinese?
⚓Как ты будешь решать проблему производительности BI и/или ETL?
Далее можно сделать white boarding – то есть расшарить экран и порешать задачки на SQL. Python я не люблю спрашивать. Если мне нужен python, то скорей всего для Apache Spark. С Airflow я не работал. SQL для меня это язык №1 для работы с данными, все должны его знать на хорошем уровне.
И в конце можно поговорить про концептуальную архитектуру. Например, у нас есть такой-то бизнес, например облачный продукт. Бизнес-пользователи хотят знать базовые показатели/метрики. На входе есть несколько систем – Sales Force, Facebook, Google Analytics, OLTP (бэк енд). Как ты будешь строить аналитическое решение и какие инструменты будешь использовать.
Этап 3: домашнее задание
Я люблю давать полезные и интересные проекты. Например:
1. Запусти тестовый аккаунт Redshift/Big Query/Snowflake
2. Используй заданный data set (NY Taxi, GitHub или другие)
3. Построй ETL с помощью своего любимого инструмента, чтобы загрузить данные в хранилище данных и построить таблицу фактов
4. Подключи свой любимый BI инструмент и нарисуй дашборд
Такое задание позволяет оценить понимание end-to-end аналитическое решение и особенности знаний кандидата. Можно попросить использовать конкретный стек, и рассказать, как его скачать и установить.
PS По необходимости можно менять в сторону Spark, Streaming, BigData. Но как правило этого достаточно, чтобы понять насколько хороший специалист и насколько хороший у него кругозор.
Day One Careers Blog
Amazon Interview Questions: The Ultimate Preparation Guide (With Example Stories)
Discover Amazon's Leadership Principles and ace behavioral questions with Day One Careers' expert guide, crafted by former Amazon senior leaders!
👍2
Хорошая статья про оконные функции от Databricks, рассказывают теорию и показывают примеры для SQL и PySpark.
Databricks
Introducing Window Functions in Spark SQL | Databricks Blog
In this blog post, we introduce the new window function feature that was added in Spark 1.4.
👍1
Forwarded from Евгений Воробьев
Всем привет! Готов еще один перевод, посвященный Apache Spark, в котором кратко описаны основные составляющие части фреймворка. Поддержите пожалуйста лайками и голосами)
https://habr.com/ru/post/592067/
https://habr.com/ru/post/592067/
Хабр
Apache Spark, объяснение ключевых терминов
Перевод Как отмечено в статье Survey shows huge popularity spike for Apache Spark : «Apache Spark - это Тейлор Свифт программного обеспечения в мире больших данных. Технология с открытым исходным...
Forwarded from Ilya Koshi
@dimoobraznii мой перевод наконец прорвался на хабр https://habr.com/ru/post/593327/
Из шапки заставили удалить ссылку на даталерн, только внизу осталась
Из шапки заставили удалить ссылку на даталерн, только внизу осталась
Хабр
От «data-driven» к «data-driving» в инжиниринге данных
Всем привет! Это мой дебют на хабре с переводом классной статьи по теме инжиниринга данных. Оригинал статьи: From Data Driven to Driving Data— The dysfunctions of Data Engineering Для тех кто уже...
👍1
ML-Engineering-Ebook-Final.pdf
3.4 MB
#whitepaper про ML engineering от Databricks. В документе выдержки из книги Machine Learning Engineering in Action
Tableau Evangelist (это такая роль в компании вендора, которая продвигает технологии и на своем примере показывает как это здорово использовать продукт) - Andy Cotgreave показал свои 4 любимые книги за 2021:
Atlas of the Invisible (James Cheshire and Oliver Uberti)
Living in Data (Jer Thorp)
How to Make the World Add Up (Tim Harford)
The Big Picture (Steve Wexler)
За последнюю книгу я не сомневаюсь, что она хорошая, Стив уже много раз был Tableau Zen Master и плохого не посоветует. Я его знаю лично, один раз он выступал для Amazon Tableau User Group, которую я вел, другой раз я был на его выступлении в Boston User Group и это было как в театре!
Источник https://www.linkedin.com/pulse/my-favourite-data-books-year-andy-cotgreave/
Atlas of the Invisible (James Cheshire and Oliver Uberti)
Living in Data (Jer Thorp)
How to Make the World Add Up (Tim Harford)
The Big Picture (Steve Wexler)
За последнюю книгу я не сомневаюсь, что она хорошая, Стив уже много раз был Tableau Zen Master и плохого не посоветует. Я его знаю лично, один раз он выступал для Amazon Tableau User Group, которую я вел, другой раз я был на его выступлении в Boston User Group и это было как в театре!
Источник https://www.linkedin.com/pulse/my-favourite-data-books-year-andy-cotgreave/
Forwarded from Stanislav Lysikov
Всем привет.
Наблюдая со стороны все больше внедрений DBT на просторах русскоязычного комьюнити в рамках развития @dbt_users решили провести митап и поделиться опытом :)
14 декабря в 19-00 в онлайне (с прискорбием :() ребята из Wheely, Space307 и NabuMinds расскажут:
- зачем нужен dbt
- как просто построить современный стек в облаках
- использовать как надежного помощника аналитикам и инженерам при стандартизации расчетных метрик
- как искать узкие места в графе выполнения :)
Слоты фиксированы по времени, можно подключаться на любой канал. Ссылка на ютуб придет как обычно перед началом митапа.
До встречи :)
https://space307.team/dbtmeetup
Наблюдая со стороны все больше внедрений DBT на просторах русскоязычного комьюнити в рамках развития @dbt_users решили провести митап и поделиться опытом :)
14 декабря в 19-00 в онлайне (с прискорбием :() ребята из Wheely, Space307 и NabuMinds расскажут:
- зачем нужен dbt
- как просто построить современный стек в облаках
- использовать как надежного помощника аналитикам и инженерам при стандартизации расчетных метрик
- как искать узкие места в графе выполнения :)
Слоты фиксированы по времени, можно подключаться на любой канал. Ссылка на ютуб придет как обычно перед началом митапа.
До встречи :)
https://space307.team/dbtmeetup
Destroy the idea that you have to be constantly working or grinding in order to be successful. Embrace the concept that rest, recovery & reflection are essential parts of the progress towards a successful happy life. (c)
Новый релиз Delta Lake 1.1.0 https://github.com/delta-io/delta/releases/tag/v1.1.0
GitHub
Release Delta Lake 1.1.0 · delta-io/delta
We are excited to announce the release of Delta Lake 1.1.0 on Apache Spark 3.2. Similar to Apache Spark™, we have released Maven artifacts for both Scala 2.12 and Scala 2.13. The key features in th...
Мы используем PySpark и создаем много функций для преобразования данных, часто это трансформации data frame. Недавно я узнал про Python Docstrings - стандартный способ ведения документации функций.
Пример:
def square(n):
'''Takes in a number n, returns the square of n'''
return n**2
print(square.doc)
Takes in a number n, returns the square of n''
А вы знаете еще что-нибуль полезное?
Пример:
def square(n):
'''Takes in a number n, returns the square of n'''
return n**2
print(square.doc)
Takes in a number n, returns the square of n''
А вы знаете еще что-нибуль полезное?
Programiz
Python Docstrings (With Examples)
In this tutorial, we will learn about Python docstrings. More specifically, we will learn how and why docstrings are used with the help of examples.
Оказывается у AWS есть альтернативная (честная) версия их AWS Service Health Dashboard. Потому что, как мне сказали оригинальный продукт - bullshit. Поэтому, если у вас AWS то вам бует полезно добавить в закладки https://stop.lying.cloud/
Сейчас идет конференция - Coalesce, для меня это самая настоящая конференция, которой движет комьюнити людей, кто любит работать с данными и любит делиться опытом. Пока еще, это не коммерческий ивент, на котором вендоры будут вам рассказывать, как вам плохо без их продукта.
Я уверен другие каналы тоже напишут про разные интересные темы с этой конференции, я начну вот с этого - Git for the rest of us.
Это доклад, для тех кто пока чувствуют себя не уверенно с git. В докладе много хороших примеров как используют git для SQL и dbt,, как его настроить и скачать. Зная, как студенты datalearn испытывают трудности с git в начале, это будет неплохое видео, которое покажет еще раз примеры комманды и примеры использовании командной строки. Прям все как любой компании: в которой аналитики делают commit своего кода в репозиторий.
Я уверен другие каналы тоже напишут про разные интересные темы с этой конференции, я начну вот с этого - Git for the rest of us.
Это доклад, для тех кто пока чувствуют себя не уверенно с git. В докладе много хороших примеров как используют git для SQL и dbt,, как его настроить и скачать. Зная, как студенты datalearn испытывают трудности с git в начале, это будет неплохое видео, которое покажет еще раз примеры комманды и примеры использовании командной строки. Прям все как любой компании: в которой аналитики делают commit своего кода в репозиторий.
Getdbt
Coalesce Conference | Crafted by dbt Labs
Join dbt Labs and thousands of analytics professionals at our premier data conference, Coalesce.
А это специальный сайт с emoji для вашей git документации https://gitmoji.dev/
gitmoji.dev
An emoji guide for your commit messages.
Все чаще попадется этот ресурс - https://overemployed.com/
Идея у них простая - Work Two Remote Jobs, Reach Financial Freedom
Ну и весь сайт посвящен примерам такого рода активностей и советам про то как можно достичь финансовой свободы и ни слова про ставки на спорт и инвестиции в криптовалюту😇
Мне интересно, кто нибудь так пробовал? Какие ощущения и какой самый важный мотиватор для вас?
Для кого-то это возможность учиться в 2 раза быстрее и качественней, для кого-то возможность зарабатывать в 2 раза больше, а кто-то всегда хотел быть предпринимателем и работать на себя, а есть люди, кому просто скучно, а для некоторых это возможность бэкапа на черный день.
Я лично пробовал подрабатывать на проектиках, минусов не заметил, но это больше были как временные задачки, а вот так, чтобы год работать нон-стоп это уже следующая категория, для настоящих профи🏆
Идея у них простая - Work Two Remote Jobs, Reach Financial Freedom
Ну и весь сайт посвящен примерам такого рода активностей и советам про то как можно достичь финансовой свободы и ни слова про ставки на спорт и инвестиции в криптовалюту😇
Мне интересно, кто нибудь так пробовал? Какие ощущения и какой самый важный мотиватор для вас?
Для кого-то это возможность учиться в 2 раза быстрее и качественней, для кого-то возможность зарабатывать в 2 раза больше, а кто-то всегда хотел быть предпринимателем и работать на себя, а есть люди, кому просто скучно, а для некоторых это возможность бэкапа на черный день.
Я лично пробовал подрабатывать на проектиках, минусов не заметил, но это больше были как временные задачки, а вот так, чтобы год работать нон-стоп это уже следующая категория, для настоящих профи🏆
Overemployed ®
Overemployed ® - Work Two Remote Jobs, Reach Financial Freedom
A community that helps professionals earn a double income and achieve financial freedom. Learn to work two remote jobs and invest wisely. No more layoffs.
Один из подписчиков Sergey Khristolyubov поделился опытом на хабре и возможно сделает для datalearn вебинар.
Статья называется - Создаем аналитическое хранилище данных командой из 2-3 спецов
Статья называется - Создаем аналитическое хранилище данных командой из 2-3 спецов
Хабр
Создаем аналитическое хранилище данных командой из 2-3 спецов
Всем привет! Сделать хорошее аналитическое хранилище (DWH), когда в команде десяток-другой крутых специалистов и пара лет времени — не сложно. Проекты по созданию DWH, Data Lake и BI обычно очень...
Если вы еще не пользовались языком markdown, то стоит начать использовать. Это самый популряных язык для написания документации.
Примеры использования:
- в учебнике Data Learn в Github мы используем markdown, и получается очень красиво и удобно, легко редактировать. Использую Visual Code, у меня экран разделен на 2 части - Markdown и Preview
- на работе мы используем DevOps, Git, GitLab - все комментарии используют markdown
- возможно все знакомы с файлом readme .md - каждый git repo содержить такой
Как вы еще используете markdown?
Сегодня я хотел бы рассказать про возможности md для создания диаграм и схем:
Flow Charts - With this code, you can create a minimalistic diagram.
Sequence Diagrams - If you like a handwritten font, this one is for you.
Mermaid
PlantUML
GraphViz - для создания графов и зависимостоей
Ditaa - Markdown Preview Enhanced supports ditaa that can convert diagrams drawn using ascii art (‘drawings’ that contain characters that resemble lines like | / — ), into proper bitmap graphics.
Такие вещи как Mardown, CLI, Git - вошли в повседневную жизнь людей, которые работаю с данными и являются необходимыми навыками, нименьше, чем Excel. Не нужно быть экспертом, но нужно знать базовые примеры и понимать для чего это используется.
Примеры использования:
- в учебнике Data Learn в Github мы используем markdown, и получается очень красиво и удобно, легко редактировать. Использую Visual Code, у меня экран разделен на 2 части - Markdown и Preview
- на работе мы используем DevOps, Git, GitLab - все комментарии используют markdown
- возможно все знакомы с файлом readme .md - каждый git repo содержить такой
Как вы еще используете markdown?
Сегодня я хотел бы рассказать про возможности md для создания диаграм и схем:
Flow Charts - With this code, you can create a minimalistic diagram.
Sequence Diagrams - If you like a handwritten font, this one is for you.
Mermaid
PlantUML
GraphViz - для создания графов и зависимостоей
Ditaa - Markdown Preview Enhanced supports ditaa that can convert diagrams drawn using ascii art (‘drawings’ that contain characters that resemble lines like | / — ), into proper bitmap graphics.
Такие вещи как Mardown, CLI, Git - вошли в повседневную жизнь людей, которые работаю с данными и являются необходимыми навыками, нименьше, чем Excel. Не нужно быть экспертом, но нужно знать базовые примеры и понимать для чего это используется.
Последние несколько месяцев я использовал Databricks Autoloader для моего Delta Lake. Для начала я расскажу, что значит каждое слово:
- Databricks - это коммерческий продукт, в сердце которого Apache Spark. Так же у вас есть удобный интерфейс с ноутбуками - Workspace. Поэтому мы можем писать код, трансформации и Databricks будет делать data processing. Единица трансформации обычно data frame. Можно использоать PySpark, Scala, SparkSQL. Все достаточно удобно и быстро. Данные как правило хранятся в облачном сторадже AWS S3, Azure Storage.
- Delta Lake - это опен сорс продукт, который уже неразрывно связан со Spark. Мы использовали его еще в Amazon для AWS EMR+Spark, чтобы решать задачи GDPR (Удаление customer id). Данные хранятся так же в озере данных в формате Parquet. Но есть дополнительные фичи - transaction log (метаданные о данных), и у нас теперь не просто External Table в Hive Metastore, но Delta Table. Есть и аналоги на рынке Iceberg и Hudi (как правило для Hadoop). Проблем пока не заметил, только операция MERGE тормозная на большом объеме, но много хороших фич, которые позволяют сделать хранилище данных из вашего озера данных (то есть Lake house).
- Autoloader - это фича Databricks, которая использует Spark Structured Streaming. Databricks сам создает всю необходимую инфраструктуру в AWS/Azure, чтобы стримить непрерывно файлы к вам в DW. И Вместе с Delta Lake вы можете сделать streaming ETL для всего. Конечно на практике это работает не так прекрасно. Условно Autoloader это черный ящик, которые все делает сам – находит только новые файлы и грузит их. Где-то глубоко он использует базу RocksDB, которые ведет учет всего что вы загрузили.
Я решил сделать ставку на инновации, но что-то пошло не так. Autoloader уже второй раз дает сбой по непонятным причинам и пишет, что не может найти путь к checkpoint. То есть, он не знает, чего было загружено, а чего нет. И мне как разработчику это ни о чем не говорит, так как это сервис и black box. Я уже потратил много времени с support в прошлый раз, они попросили добавить опцию в настройки кластера "spark.databricks.cloudFiles.missingMetadataFile.writeNew true" но на мой вопрос так и не ответили, "Почему это случилось?".
Выглядит как заплатка. Но опять все сломалось и хз чего там.
Мораль истории проста – все эти замечательные сервисы, которые будут делать работу за вас, все эти красивые слова вендоров, их презентацию, все это, как говорят на западе bullshit.
Ну а мне придется переделывать все на классический batch процесс, в котором я могу запускать data factory job каждый час и переписывать или добавлять партицию, как делали лет 5-10 назад при использовании Hive и Hadoop.
PS Но тем не менее я добавлю delta lake, autoloader и Databricks в data learn.
- Databricks - это коммерческий продукт, в сердце которого Apache Spark. Так же у вас есть удобный интерфейс с ноутбуками - Workspace. Поэтому мы можем писать код, трансформации и Databricks будет делать data processing. Единица трансформации обычно data frame. Можно использоать PySpark, Scala, SparkSQL. Все достаточно удобно и быстро. Данные как правило хранятся в облачном сторадже AWS S3, Azure Storage.
- Delta Lake - это опен сорс продукт, который уже неразрывно связан со Spark. Мы использовали его еще в Amazon для AWS EMR+Spark, чтобы решать задачи GDPR (Удаление customer id). Данные хранятся так же в озере данных в формате Parquet. Но есть дополнительные фичи - transaction log (метаданные о данных), и у нас теперь не просто External Table в Hive Metastore, но Delta Table. Есть и аналоги на рынке Iceberg и Hudi (как правило для Hadoop). Проблем пока не заметил, только операция MERGE тормозная на большом объеме, но много хороших фич, которые позволяют сделать хранилище данных из вашего озера данных (то есть Lake house).
- Autoloader - это фича Databricks, которая использует Spark Structured Streaming. Databricks сам создает всю необходимую инфраструктуру в AWS/Azure, чтобы стримить непрерывно файлы к вам в DW. И Вместе с Delta Lake вы можете сделать streaming ETL для всего. Конечно на практике это работает не так прекрасно. Условно Autoloader это черный ящик, которые все делает сам – находит только новые файлы и грузит их. Где-то глубоко он использует базу RocksDB, которые ведет учет всего что вы загрузили.
Я решил сделать ставку на инновации, но что-то пошло не так. Autoloader уже второй раз дает сбой по непонятным причинам и пишет, что не может найти путь к checkpoint. То есть, он не знает, чего было загружено, а чего нет. И мне как разработчику это ни о чем не говорит, так как это сервис и black box. Я уже потратил много времени с support в прошлый раз, они попросили добавить опцию в настройки кластера "spark.databricks.cloudFiles.missingMetadataFile.writeNew true" но на мой вопрос так и не ответили, "Почему это случилось?".
Выглядит как заплатка. Но опять все сломалось и хз чего там.
Мораль истории проста – все эти замечательные сервисы, которые будут делать работу за вас, все эти красивые слова вендоров, их презентацию, все это, как говорят на западе bullshit.
Ну а мне придется переделывать все на классический batch процесс, в котором я могу запускать data factory job каждый час и переписывать или добавлять партицию, как делали лет 5-10 назад при использовании Hive и Hadoop.
PS Но тем не менее я добавлю delta lake, autoloader и Databricks в data learn.
Amazon
Databricks on AWS—Partner Solution
Learn about the Partner Solution architecture and details for deploying Databricks workspaces on the AWS Cloud.