3週間強でLookML Developer Certificateを取得するまでにやったこと&感想 #looker

2020.09.30

Lookerの認定資格である「LookML Developer」を、Looker触り始めて3週間強で合格できたので、試験までにやったことや、試験後の感想などを本ブログでまとめます。

LookML Developer Certificateとは

Lookerの認定資格の1つで、LookMLを用いたデータモデルの構築&運用能力を問われる試験です。大きく、以下の4つのセクションに分かれています。各セクションの詳細は公式Docよりご確認ください。

  • Model Management
  • Customization
  • Optimization
  • Quality

Looker勉強前の私のスキル(2020年9月1日時点)

  • Looker:「LookMLでデータモデル作らないとグラフ作れない」としか知らないレベル。
  • SQL:WINDOW関数はわかるレベル。DBのテーブル設計・開発経験はなし。
  • 他BIツール:Tableauを2年ほど。

試験の申し込み

Lookerのwebassessorのサイトから申し込みすることができます。

実際の応募の流れは、下記のブログを参考にしました。このブログはSnowflakeの例ですが、Lookerも同じwebassessorを使用しているため、試験の応募~受験完了までの流れは全く同じです。

(ちなみに2020年9月時点、WebカメラはPC内蔵の物で問題なく受験できました。これは試験の種別による可能性もあるので、随時確認することがおすすめです!)

受験日までにやったこと

Bootcamp

Lookerは公式から教材やトレーニングプログラムが提供されています。

私は3種類すべて受講しました。

試験勉強

Looker Developer Bootcampの見直し

試験の主な範囲は「Looker Developer Bootcamp」のため、トレーニング資料を参考に自分で改めてスプレッドシートにポイントをメモしながら演習問題をすべて行いました。

トレーニング中は時間がなくて詳細に調べられなかったところも、じっくりと調べた上で、必要に応じて実際にLooker上で検証できたことから、より知識が定着したと感じています。

試験ガイドのRecommended documentationの読み込み&演習

以下の試験ガイドには、「Recommended training and documentation」という項目があり、Lookerの公式Docへのリンクも提示されています。

特に派生テーブル(derived table)関連は公式Docの方がBootcampの資料よりも詳細に説明されているため、参考になる点も多かったです。

ベストプラクティス情報の読み込み

Lookerは日本語での情報が少なめですが、英語の場合海外でのコミュニティも活発で色々な情報が有志の方から提供されています。

その中でも、ユーザーの知見に基づいたベストプラクティス情報は参考になる点が多く、私も10記事ほど読んでみました。その中から特に参考になった記事のリンクを記します。

受験当日について

試験は現在の新型コロナウイルスの影響を受け、自宅からオンラインで受験しました。人生初の自宅オンライン試験であり、弊社内でもオンライン受験でトラブルにあった方がちらほらいるため、「何もないといいな…」とヒヤヒヤしていました。

…が、実際に2件、軽いトラブル(?)がありました…。

眼鏡に何も仕込んでないだろうな?

まず、試験の概要を読んでいたら、急に画面が切り替わり「眼鏡をWEBカメラの前で360度回転させて色んな角度から見せて」と指示を受けました。

最近はハイテクな眼鏡もあるため、不正行為防止のために確認されたものと思われます。

顔認識できないぞ!

試験も終盤に差し掛かったあたりで、再度画面が急に切り替わり、「顔認識できないぞ!」と注意を受けました。

「なぜだろう?」と思うと、試験に疲れてきたため下図のように顔に手をつけて受験していたためだと気づきました。

このため、この注意を受けてからは手を顔につけないように受験していました…(自分にとって楽な姿勢をできないのが、すこーし辛かったです。)

試験に向けて”やっておくべき”と感じた内容

試験は全体を通して「~~な状況(要望が来た、エラー発生、等)です。選択肢の中から適切な実施項目を選びなさい」という問題形式です。

具体的にどのような問題が出たかは規約上書けませんが、以下に「これはやっておくべき!」と感じた内容を記します。

データの絞り込み関係

Lookerはフィルター等のデータ絞り込みに関するパラメータが多く、それぞれの仕様と使い分け方を自分の中で押さえておく必要があると感じました。

  • sql_always_where
  • always_filter
  • conditionally_filter
  • access_filter
  • access_grant

各パラメータのサブパラメータの理解

例えば、dimensionというパラメータを用いて各view内でディメンションを定義しますが、dimensionにはtypeというサブパラメータがあり、typeにもstring、tier、yesnoなど種類がたくさんあります。

この中でもさらに、typeがtierの場合、tiersで数値範囲を指定して、styleでLook上でどのような表記にするか指定する、など細かな仕様があります。

上記は一例ですが、少なくともLooker Developer Bootcampで学ぶレベルのパラメータは、サブパラメータとその使い方も併せて覚えておいた方が良いと感じました。

派生テーブルとキャッシュポリシーの理解

派生テーブルは一時的なもの(Ephemeral)と永続的なもの(Persistent)、2種類ありますが、それぞれの定義の仕方や、使い分け方は明確に理解しておく必要があると感じました。

また、永続的な派生テーブルの定義の方法の1つとしてdatagroupを設定する方法があるのですが、datagroupはキャッシュポリシーの設定にも用いられます。

この派生テーブルとキャッシュポリシーを勉強していくと、persist_withとpersist_forや、sql_triggerとsql_trigger_valueなど表記が似ているパラメータが出てくるため、それぞれの違いを明確に理解して適切に使い分けることが出来るようになっておくことも、必要であると感じました。

英語に慣れる

2020年9月時点、この試験は「英語」でしか受験ができません。その上で、65問も問題があって文章量も多く、なかなか堪えました…

(正直、英語が上手く解釈できなくて間違えた問題も多いと思います。)

そのため、試験勉強として公式Docを読む際はなるべく英語で読むことをお勧めします。日頃から英語に慣れていないと、試験当日かなり辛い思いをすることになると思います…

最後に

センセーショナルなブログタイトルでしたが、試験の点数は合格点ぎりぎりであり、弊社内には玉井堀本という先駆者がいたことも、この短期間で取得できた理由の1つと考えています。

お二人の情報には本当に助けられました、ありがとうございました!!