dbt認定試験「dbt Cloud Administrator Certification Exam」概要を読んで何を理解しておくべきか、どんなスキルが求められるのかを把握する #dbt
アライアンス事業部 エンジニアグループ モダンデータスタック(MDS)チームの しんや です。
先日、チーム内でdbtに関する会話をしていた際「そういえばいつの間にかdbtの新しい試験が出来てますね...!」という話題が挙がりました。それがこの「dbt Cloud Administrator Certification Exam」という試験です。
ちょうど先日、私も認定試験に関するブログを挙げていたので、当エントリでは同じ切り口で今回新たに誕生した認定試験「dbt Cloud Administrator Certification Exam」の概要を見ていこうと思います。
目次
- 試験(ごと)の特徴
- Configuring dbt Cloud data warehouse connections(dbtクラウドデータウェアハウス接続の設定)
- Configuring dbt Cloud git connections(dbt Cloud環境におけるgit接続設定)
- Creating and maintaining dbt Cloud environments(dbt Cloud環境の構築と維持)
- Creating and maintaining job definitions(ジョブ定義の作成と管理)
- Troubleshooting and optimizing project performance(トラブルシューティングとプロジェクトパフォーマンスの最適化)
- Configuring dbt Cloud security and licenses(dbtクラウドのセキュリティとライセンスに関する設定)
- Setting up monitoring and alerting for jobs(ジョブに関する監視・アラート設定)
- まとめ
試験(ごと)の特徴
まずは現状2つ存在することになる認定試験の、試験ごとのざっくりとした特徴を見ていこうと思います。下記表に記載したように今回の認定試験「dbt Cloud Administrator Certification Exam」は名前が示す通り、dbt Cloudの管理者周りの機能に特化した試験となっています。提供言語に関してはいずれも英語版のみ、日本語版は存在していません。
項目 | dbt Analytics Engineering Certification Exam |
dbt Cloud Administrator Certification Exam |
---|---|---|
試験時間 | 2時間 | 2時間 |
問題数 | 65問 | 65問 |
合格ライン | 65% | 63% |
受験費用 | $200 | $200 |
対象範囲 | dbt全般 dbt Core、dbt Cloud双方を含む |
dbt Cloud 管理者機能に特化 |
求められる能力 | ・モデルを構築、テスト、保守して、他の人がデータにアクセスできるようにする ・dbt を使用してエンジニアリング原則を分析インフラストラクチャに適用する |
・プロジェクトの構成、トラブルシューティング、最適化、dbt クラウド接続と環境の管理 ・ベストプラクティスを実施しながら価値を最大化する |
言語 | 英語のみ | 英語のみ |
Configuring dbt Cloud data warehouse connections(dbtクラウドデータウェアハウス接続の設定)
Understanding how to connect the warehouse(データウェアハウスへの接続方法を理解する)
dbtは下記ページ記載のデータソースに接続が可能となっています。それらデータソースへの接続方法を理解しておきましょう、というのがこのトピック。
Configuring IP whitelist(IPホワイトリストの設定)
所定の環境へのアクセスを制限する方法として「登録されたIPからのみ接続を許可する」所謂"IPホワイトリスト"がありますが、dbtに於いてもこの方式は対応可能です。
Selecting adapter type(アダプタータイプの選択)
dbtを構成するコンポーネントの1つであり、dbtが(dbtでサポートされている)様々なデータプラットフォームに接続する方法を管理しているものをアダプターと呼んでいます。
Configuring OAuth(OAuth認証の設定)
dbtが各種データソースに接続を行う際に「OAuth」を用いる場合の設定方法に関するトピック。
Adding credentials to deployment environments to access warehouse for production / CI runs(デプロイ環境に認証情報を追加し、本番/CI実行用のウェアハウスにアクセスする)
dbt環境が所定のデータソースにアクセス出来るようにするための認証情報の設定方法についてのトピック。
Configuring dbt Cloud git connections(dbt Cloud環境におけるgit接続設定)
Connecting the git repo to dbt(gitリポジトリをdbtの接続)
Understanding custom branches and which to configure to environments(カスタムブランチを理解し、どの環境に設定するか)
Gitに於ける「カスタムブランチ」とカスタムブランチのdbt連携に関するトピック。
Creating a PR template(PRテンプレートの作成)
dbt上でPull Requestを行う際に利用可能なテンプレートに関するトピック。
Understanding version control basics(バージョン管理の基本的な部分を理解する)
ここはdbt云々の前に「そもそもバージョン管理とはなんぞや」といったところを押さえておこうね、といったところでしょうか。世の中には基本を学べる良サイトが沢山あるのでお好きなところで基本を押さえておきましょう。
Setting up integrations with git providers(gitプロバイダーとの統合を設定する)
dbtで接続、連携可能なgitプロバイダーは複数存在します。ここではそれぞれのサービスに関して統合・連携設定を行うには?みたいなところが求められていそうです。
Creating and maintaining dbt Cloud environments(dbt Cloud環境の構築と維持)
Understanding access control to different environments(さまざまな環境へのアクセス制御を理解する)
dbt Cloudに於ける「アクセス制御」の種類と方法について言及。
Determining when to use a service account(サービス・アカウントをいつ使うか?を決める)
サービスアカウントを使ったデータソースへのアクセスが必要となる場合、dbtではその辺りどう連携するか?またどういったタイミングでサービスアカウントを使うのか?といったケース考慮についても求められていそう。
Rotating key pair authentication via the API(API経由のローテーション・キー・ペア認証)
dbtで使うキーペア情報に関する取り回しに関するトピック。
Understanding environment variables(環境変数を理解する)
dbtにおけるプロジェクトのカスタマイズを行える機能として「環境変数」が提供されています。当トピックはそれに言及したもの。
Upgrading dbt versions(dbtのバージョンアップ)
dbt環境のバージョンアップに関するトピック。
Deploying using a custom branch(カスタムブランチを使ったデプロイ)
↑というユースケースに於ける対応方法について言及。
Creating new dbt Cloud deployment environment(新しいdbt Cloudデプロイ環境の作成)
新規環境デプロイに関するトピック。
Setting default schema / dataset for environment(環境におけるデフォルトスキーマ、デフォルトデータセットの設定)
dbt環境に於けるデフォルト設定に関するトピック。ドキュメントでは更に「デフォルト設定を上書きするには」なオペレーションも紹介されているのでその辺も含まれて来そうです。
Creating and maintaining job definitions(ジョブ定義の作成と管理)
Setup a CI job with deferral(延期を伴うCIジョブのセットアップ)
そもそもdbtに於けるdeferral(延期、遅延)って何なの?というのがありますが、このエントリにその辺りの前提説明的なものが分かりやすくなされていますね。
その他詳細はこの辺を参照。
Understanding steps within a dbt job(dbtジョブ内のステップを理解する)
ジョブの詳細内容を把握するトピック。
Scheduling a job to run on schedule(ジョブのスケジュール実行)
ジョブのスケジュール実行に関するトピック。
Implementing run commands in the correct order(正しい順序でランコマンドを実行する)
dbtではジョブの実行にrunコマンド(dbt run
)というものを使う事が出来ます。
Creating new dbt Cloud job(新しいdbt Cloudジョブを作成)
実行させたいdbt Cloudジョブを新たに作る手順について言及。
Configuring optional settings such as environment variable overrides, threads, deferral, target name, dbt version override etc.(環境変数のオーバーライド、スレッド、遅延、ターゲット名、dbtバージョンのオーバーライドなどのオプション設定を行う)
dbtに於ける様々要素に対する「オプション設定」のトピック。
環境変数のオーバーライド(environment variable overrides)
スレッド(threads)
遅延(deferral)
「Setup a CI job with deferral(延期を伴うCIジョブのセットアップ)」を参照。
ターゲット名(target name)
Generating documentation on a job that populates the project’s doc site(プロジェクトのドキュメント・サイトを更新するジョブに関するドキュメントの生成)
ここはシンプルにドキュメントを作成するパートということで良いのかな?
Troubleshooting and optimizing project performance(トラブルシューティングとプロジェクトパフォーマンスの最適化)
Understanding events in audit log(監査ログのイベントを理解する)
dbtの機能として提供されている「監査ログ」に関するトピック。
Understanding how to audit a DAG and use artifacts(DAGの監査方法と成果物の使用方法を理解する)
そのものズバリのトピック。
Using the model timing tab(モデルタイミングタブの使用)
dbtの設定として用意されている「Model Timing」への言及。見方使い方がポイントになっているようです。
Reviewing job logs to find errors(エラーを見つけるためにジョブログをレビューする)
ジョブの実行ログに関するトピック。
Configuring dbt Cloud security and licenses(dbtクラウドのセキュリティとライセンスに関する設定)
Creating Service tokens for API access(APIアクセス用のServiceトークンの作成)
dbtクラウドAPIでの安全な認証を可能にするための仕組みとして提供されているサービスアカウントトークンの作成と使い方に関するトピック。
Assigning permission sets(権限セットの割り当て)
dbtに於けるアクセス制御に用いることが出来る権限周りの手順について。
Creating license mappings(ライセンスマッピングの作成)
dbtで管理しているライセンスの状況を一覧出来る機能(画面)として提供されているものがある、という記載がドキュメントにあったのでそのことを指していると思われます。見方とかも把握しておく必要がありそう。
Understanding 3-pronged access control (RBAC in dbt, warehouse, git) (3つのアクセス制御(dbt、warehouse、gitにおけるRBAC)を理解する)
「pronged」という言葉の意味を調べてみると「先の尖った」と出てきます。アクセス制御における3本柱...みたいな感じなのでしょうか。
で、RBACって何?となりますが、これはロールベースのアクセス制御(Role-based access control)の略語らしいです。
それぞれのサービスにおけるアクセス制御の手段について理解をしておき、更にはそれらの組み合わせで実際にどういう流れで制御がなされているのか、というところはちゃんと理解をしておく必要がありそうです。
Adding and removing users(dbtでのユーザーの追加と削除)
ユーザーの追加や削除に関するトピック。
Adding SSO application for dbt Cloud enterprise(dbt Cloud EnterpriseへのSSOアプリケーションの追加)
環境に於けるSSO(シングルサインオン)に関するトピック。"for dbt Cloud Enterprise"とあるのでエンタープライズ限定の機能なのでしょう。
Setting up monitoring and alerting for jobs(ジョブに関する監視・アラート設定)
通知周りに関する種々の設定方法に言及。
- Setting up email notifications(Eメール通知の設定)
- Setting up Slack notifications(Slack通知の設定)
- Using Webhooks for event-driven integrations with other systems(Webhook を使用したイベント駆動型の他のシステムとの統合)
まとめ
という訳で、dbtの認定試験「dbt Cloud Administrator Certification Exam」に関する試験範囲概要を眺めてみたよブログの紹介でした。
こちらの認定試験も、実に多種多彩なポイントが問われる内容になっているな、という印象でした。「dbt Analytics Engineering Certification Exam」同様提供されているのは英語版のみですが、ポイントを押さえたインプットとアウトプットを行うことで関連知識を効率良く習得し、こちらの認定試験も是非取得していきたいと思います!