В этой статье я поделюсь с вами ресурсами и методологией, которые я активно использовал для прохождения сертификации “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.
>> РЕГИСТРАЦИЯ

Комментарии (0)