Руководство по Databricks Certified Associate Developer for Apache Spark 3.0

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

В этой статье я поделюсь с вами ресурсами и методологией, которые я активно использовал для прохождения сертификации “Databricks Certified Associate Developer for Apache Spark 3.0”.

Прежде всего, хочу отметить, что на момент сдачи экзамена (28.03.2021) уже была выпущена последняя версия Spark 3.1.1, но на экзамене мы работали с мажорным релизом Spark 3.0, ссылка на него.

Сдача экзамена доступна на языках Python или Scala. У вас не будут проверять ваше знание этих двух языков, поэтому следует выбрать тот язык, в котором вы чувствуете себя свободно. На экзамене вас будут проверять именно на знание Apache Spark. Что касается меня — я выбрал Python. Окно экзамена разделено на две области:

— Слева: вопросы экзамена и варианты ответов.

— Справа: эта область в свою очередь разделена еще на две — верхнюю и нижнюю части. В верхней части у вас будет гигантский PDF-файл с официальной документацией (ссылка), в котором вы НЕ СМОЖЕТЕ воспользоваться поиском, просто отсутствует эта опция. Нижняя часть — это своего рода блокнот, где вы можете записать свои собственные наблюдения, это не shell или что-то подобное, это просто блокнот.

Мои рекомендации по экзамену

1. Независимо от того, достаточно у вас знаний о Spark или нет, по моему мнению, книгу Spark The Definitive Guide (книга) просто необходимо прочитать. Сегодня эта книга может показаться слишком простой, в ней описана версия 3.0, но в качестве личной рекомендации я советую ее, так как на практике основы по сути одни и те же.

2. Очень важно — убедитесь, что вы свободно ориентируетесь в предоставленной вам документации в PDF-формате. Например, если вам нужно посмотреть, за что отвечает метод withColumn, вы должны знать, что этот метод находится в Dataframes package, а не в SparkSession package. Это было крайне важно отметить, поскольку полезно иметь представление о структуре PDF.

3. Экзамен в основном ориентирован на Dataframe API, поэтому, если вы знаете только SQL и не знаете, как работают датафреймы, не сдавайте экзамен, потому что вы его провалите.

4. Вы должны знать принципы работы архитектуры Spark и ее иерархию: джобы (Jobs), этапы (Stages), задачи (Tasks), разделы  (Partitions), аккумуляторы (Accumulators), воркеры (Workers), драйвер (Driver) и т. д.

Ресурсы

В интернете доступно множество ресурсов на эту тему, но в этой статье я все таки хотел бы поделиться несколькими ссылками, где, как мне кажется, есть отличный контент о Spark.

1. https://www.linkedin.com/company/justenough-spark/ . Некоторые из их публикаций с тестами очень похожи на экзаменационные и часто очень хорошего содержания.

2. Уверен на 100%, что работая долгое время со Spark, вы рано или поздно наткнетесь на пост Яцека Ласковски (Jacek Laskowski). Я рекомендую вам прочитать его online-книгу.

3. На Youtube я рекомендую ознакомиться с каналом Брайана Кафферки (Bryan Cafferky), где один из плейлистов посвящен темам Databricks и Apache Spark. На момент написания этой статьи серия видео еще не закончена, но те, что доступны на данный момент, очень полезные. Помимо этих видео, его YouTube канал -  это источник годного контента.

4. Еще один полезный ресурс — веб-сайт Бартоша Конечного (Bartosz Konieczny), который почти полностью посвящен контенту разной степени сложности на тему дата инжиниринга.

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

Обновление от 04.03.2021:

Я хочу поделиться еще несколькими дополнительными советами, которые родились после нескольких дней размышлений о том, как помочь людям получить сертификат.

5. Тюнинг памяти в Spark. У вас должно быть общее представление о том, как работает память в Spark. Да, эта тема довольно широкая, но у вас должны быть хотя бы минимальные знания по теме, и все, что вы найдете перейдя по следующей ссылке, должно звучать для вас знакомо. Если у вас появится желание углубиться в эту тему, то вперед! Но как минимум вы должны разбираться в базовых понятиях.

6. Что касается документации, которую предоставляют вам для экзамена (PDF), как я упоминал ранее, запоминать все функции нет необходимости, вам просто нужно знать, в каком разделе они находятся (SparkSession, Dataframes, functions, Row и так далее). Еще одна вещь, которую стоит принять во внимание — ссылки в PDF отключены, то есть, например, ссылки в функции to_date, которые появляются в online-документации, не работают в экзаменационном PDF-файле.

7. Вчитывайтесь в каждый вопрос не спеша. Некоторые вопросы сформулированы не напрямую, поэтому вам нужно очень медленно и очень хорошо вчитываться, чтобы понять, о чем конкретно вас спрашивают. Некоторые вопросы с подвохом. Например, в одном из таких говорится: “return a new dataframe which has a column with the average salary” (верните новый датафрейм со столбцом со средней зарплатой), а в возможных вариантах будет: использовать метод withColumn или avg. Здесь нужно быть очень осторожным, потому что метод withColumn ДОБАВЛЯЕТ еще один столбец к исходному датафрейму, а в примере они запрашивают датафрейм с одним столбцом. Если они хотят, чтобы вы использовали метод withColumn, они обычно намекают вам на это следующим образом: “in addition to the current columns, we want a new column with xxxxx” (в дополнение к текущим столбцам, нам нужен новый столбец с xxxxx). Возможно, читая это сейчас, вы скажете: «Коллега, это очень просто, я бы никогда не попался на таком», но во время сдачи экзамена вы нервничаете и спешите его закончить побыстрее, поэтому обращайте внимание на то, о чем вас спрашивают.

Наконец, если у вас есть какие-то сомнения, напишите комментарий под статьей (оригинал) или в Linkedin (ссылка), и я постараюсь их развеять.


Материал подготовлен в рамках курса «Spark Developer».

Всех желающих приглашаем на бесплатное demo-занятие «Оркестрация процессов обработки данных». На открытом уроке разберем назначение оркестраторов в ETL-процессах, поработаем с Apache Oozie и с Airflow.
>> РЕГИСТРАЦИЯ

Источник: https://habr.com/ru/company/otus/blog/592605/


Интересные статьи

Интересные статьи

Добрый день. Я занимаюсь переводом уроков к Vulkan API с английского языка на русский (ссылка на оригинальный тьюториал — vulkan-tutorial.com). Сегодня я бы хотела поделиться с вами п...
Shell wallpaper by manapi Отладка сценариев bash — это как поиск иголки в стоге сена, тем более, когда новые дополнения появляются в существующей кодовой базе без своевременного ...
Возможность интеграции с «1С» — это ключевое преимущество «1С-Битрикс» для всех, кто профессионально занимается продажами в интернете, особенно для масштабных интернет-магазинов.
Все хорошие стартапы либо быстро умирают, либо дорастают до необходимости масштабироваться. Мы смоделируем такой стартап, который сначала про фичи, а потом про перфоманс. Перфоманс будем улучшать...
Попробуем, пользуясь официальным руководством и примерами кода, построить работающую систему навигации для будущего многоэкранного приложения в соответствии со стандартами Navigation Architecture...