5
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Databricks Certified Associate Developer for Apache Spark 合格体験記

Last updated at Posted at 2023-01-23

Databricksが提供する資格の1つである「Databricks Certified Associate Developer for Apache Spark」を取得したので、内容や対策、受けてみた感想等について共有します。

Databricks Certified Associate Developer for Apache Spark とは

公式サイトの説明を翻訳すると、以下のような資格として位置付けられています。

Databricks Certified Associate Developer for Apache Spark 認定試験では、Spark DataFrame API の理解と、Spark DataFrame API を適用して Spark セッション内で基本的なデータ操作タスクを完了する能力を評価します。これらのタスクには、列の選択、名前変更、および操作が含まれます。行のフィルタリング、削除、並べ替え、および集計。欠落データの処理;スキーマを使用して DataFrame を結合、読み取り、書き込み、および分割する。 UDF と Spark SQL 関数を操作します。さらに、この試験では、実行/展開モード、実行階層、フォールト トレランス、ガベージ コレクション、ブロードキャストなど、Spark アーキテクチャの基本を評価します。この認定試験に合格した個人は、Python または Scala を使用して基本的な Spark DataFrame タスクを完了することが期待できます。

上記の説明から、Spark DataFrameの操作を中心的としながら、SparkのアーキテクチャやUDF, Spark SQLについても基本的な知識を備えている人に与える資格、ということになりそうです。

最低限必要な知識

こちらも公式サイトで以下のように記載されております。(翻訳)

  • Sparkのアーキテクチャについての基本的な理解(Adaptive Query Executionも含む)
  • 以下のような個々のデータ操作を、Spark DataFrame APIを使って完了できること
    • カラムの選択、カラムの名称変更や各種操作
    • フィルタリング、ドロップ、ソート、行の集約、結合、読み込み/書き出し、パーティショニング、UDFやSpark SQL関数の操作

試験形態

試験方法について

  • GCPの資格等と同じ、KRYTERIONのプラットフォームを使ったオンライン試験。ただしテストセンター受験はありません。
  • 120分で60問に回答します。
  • 問題は全て選択式、記述式やコードを書く問題等はありません。
  • 受験を申し込む際に、プログラミング言語としてPythonを使用する試験とScalaを使用する試験が別々に用意されています。私はPython版で受験しました。
  • 公式リファレンスをPDFにしたものが試験中に参照できるようになっています。Spark 3.0を前提としているので、現行の最新のリファレンスではなく、若干古いものでした。後で探した感じでは、おそらく下記のバージョンだったと思います。
    https://spark.apache.org/docs/3.0.0/api/python/pyspark.html

問題についての所感

  • 公式の説明の通りですが、全体としてはPysparkの関数やDataframeのメソッドに関するコードの問題がかなり多かったです。また、引数の渡し方等、結構細かい部分を問う問題も多いです。こうした問題については、試験中に参照できる公式リファレンスで探して答えに辿り着くことも可能です。ただし、文字列の検索等が出来ず、正直言ってかなり探しにくいので、全てをリファレンスで探していると時間が足りなくなると思いました。ある程度は頭の中に入れておく必要があります。
  • アーキテクチャ関連では、Driver, Executer, Workerの概念や役割、Job, Stage, Task等の処理単位について基本的な理解を問われました。また、遅延評価についても理解しておく必要があります。
  • シャッフルに関する問題も結構あったなという印象です。どのような操作をするとシャッフルが発生するか、あるいはシャッフルが発生させずできる処理はどれか、といった問われ方をしました。
  • 一方、Structured StreamingやAQE(Adaptive Query Execution)についてはあまり出なかったような気がします。。。

何を使って勉強するか

個人的には以下の書籍「Learning Spark」が一番良いと思いました。Sparkに関しては古い書籍が多い中、Spark 3系に対応している数少ない書籍の1つです。また、内容としては基礎的な部分は網羅されていると思います。日本語版は無いのが少し辛いところですが、かなり読みやすい英語で書かれています。

上の書籍を読みながら、適当なデータセットを題材にしてSparkを使ったデータ処理を実装してみるのが良いです。

感想 : Sparkの理解を試すのに最高の試験

Databricksの資格ではあるものの、Databricksの製品に特化した内容は一切出ません。純粋なSparkに関する問題のみなので、たとえDatabricksを使っていない方であっても、Sparkの知識をつけたい方にとてもオススメな試験だと思いました。この試験を意識しながら、上の書籍「Learning Spark」を読んで対策すると、Sparkの基本的なコードはある程度自信を持って書けるようになると思います。

5
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?