翻訳:Saki Kitaoka. - Original Blog Link
データドリブンな企業にとって、データアナリストはデータから洞察を引き出し、それを意味のある形で提示する上で重要な役割を担っています。しかし、多くのアナリストは、本番用のワークロードを自動化 するために必要なデータオーケストレーションに精通していない可能性があります。アドホックなクエリをいくつか実行すれば、直前のレポート用に適切なデータを迅速に作成できますが、データチームは、さまざまな処理、変換、検証タスクを適切な順序で確実に実行する必要があります。適切なオーケストレーションが行われないと、データチームはパイプラインの監視、障害のトラブルシューティング、依存関係の管理ができなくなります。その結果、当初は即効性のある価値をビジネスにもたらしたアドホックなクエリセットが、それらを構築したアナリストにとって長期的な頭痛の種になってしまいます。
パイプラインの自動化とオーケストレーションは、データの規模が大きくなり、パイプラインの複雑さが増すにつれて、特に重要になります。従来、これらの責任はデータエンジニアにありましたが、データアナリストがレイクハウスでより多くの資産を開発するようになると、オーケストレーションと自動化がパズルの重要なピースになります。
データアナリストにとって、データのクエリと可視化のプロセスはシームレスであるべきであり、Databricks Workflowsのような最新のツールの力が発揮されます。このブログポストでは、データアナリストが Databricks Workflows を活用してデータプロセスを自動化し、データから価値を引き出すという本来の業務に集中できるようにする方法をご紹介します。
データアナリストの世界
データアナリストは、データライフサイクルの最終段階で重要な 役割を果たします。"ラストワンマイル"に位置する彼らは、上流のパイプラインから得られる精緻なデータに依存しています。これはデータエンジニアが作成した表であったり、データサイエンティストが構築した機械学習モデルの出力予測であったりします。この精緻化されたデータは、しばしばメダリオンアーキテクチャのシルバーレイヤーと呼ばれ、彼らの仕事の基盤となります。データアナリストは、このデータを集約し、充実させ、形にして、次のようなビジネス上の特定の質問に答える役割を果たします:
- "先週の各SKUの注文数は?"
- "昨年度の各店舗の月次売上は?"
- "最もアクティブな10人のユーザーは誰か?"
これらの集計とその強化は、メダリオンアーキテクチャのゴールドレイヤーを構築します。このゴールドレイヤーは、下流ユーザー(通常は可視化レイヤー)のための容易な消費とレポーティングを可能にします。これは、Databricks内でダッシュボードの形を取ることも、Partner Connectを介してTableauやPower BIのような外部ツールを使用してシームレスに生成することもできます。技術スタックに関係なく、データアナリストは生データを価値ある洞察に変換し、構造化された分析と可視化技術によって情報に基づいた意思決定を可能にします。
Databricksのデータアナリストツールキット
Databricks では、データアナリストは湖上でデータを効率的に変換するための堅牢なツールキットを自由に操作することができます。Databricks SQL Editorを中心に、アナリストは ANSI SQL クエリを作成し、データにアクセスし、テーブルスキーマを探索するための使い慣れた環境を利用できます。これらのクエリは、インラインでデータに関する洞察を提供するビジュアライゼーションなど、さまざまな SQL アセットのビルディングブロックとして機能します。ダッシュボードは、複数のビジュアライゼーションを統合し、エンドユーザの包括的なレポート作成とデータ探索のための使いやすいインターフェイスを作成します。さらに、アラート機能により、重要なデータセットの変更をリアルタイムでアナリストに通知します。サーバーレスSQLウェアハウスは、多様なデータ量とクエリ要求に対応する拡張性を備え、これらすべての機能を支えています。デフォルトでは、このコンピュートには高性能なDatabricksネイティブのベクトル化クエリエンジンであるPhotonが使用され、高同時性のSQLワークロードに最適化されています。最後に、Unity Catalogにより、構造化データ、非構造化データ、機械学習モデル、ノートブック、ダッシュボード、およびレイクハウス内のファイルを簡単に管理できます。このまとまったツールキットにより、データアナリストはDatabricks環境内で生データをシームレスに豊かなインサイトに変換することができます。
データアナリストのツールキットをワークフローでオーケストレーション
Databricks Lakehouse Platformのデータ処理、機械学習、分析パイプラインをオーケストレーションするのがWorkflowsです。WorkflowsはDatabricksプラットフォームと統合されたフルマネージドのオーケストレーションサービスで、高い信頼性と高度な観測機能を備えています。これにより、ペルソナやバックグラウンドに関係なく、すべてのユーザーが本番環境でワークロードを簡単にオーケストレーションできるようになります。
SQL タスクの構築
データアナリストとしての最初のワークフロー構築は非常に簡単です。ワークフローは、データ分析者が使用するコアツール(クエリ、アラート、ダッシュボード)をフレームワーク内にシームレスに統合し、SQL タスクタイプを通じてその機能を強化します。これにより、データ アナリストは既に使い慣れたツールを構築して作業し、UI を介してそれらをタスクとしてワークフローに簡単に取り込むことができます。
データアナリストがより多くの SQL タスクを連鎖させるようになると、Databricks Workflow 内で SQL ベースのタスクをスケジューリングして自動化するための依存関係を簡単に定義できるようになります。以下のワークフロー例では、これを実際に見てみましょう:
データエンジニアリングチームからダッシュボードの更新プロセスを開始するための アップストリームデータを受け取ったとします。
以下のようなSQL中心のタスクを定義し、パイプラインを自動化します:
- Create_State_Speed_Records: まず、Queryタスクでリフレッシュされたデータをゴールドレイヤーに定義します。これはデータをゴールドテーブルに挿入し、パフォーマンスを向上させるために最適化します。
- Data_Avaialable_Alert: データが挿入されたら、このテーブルを使用する他のデータアナリストに新しいレコードが追加されたことを通知します。このためには、新しいレコードが追加されたことをトリガーするアラートを作成します。これにより、関係者グループにアラートが送信されます。同じような方法でアラートをデータ品質チェックに使用して、古いデータ、NULLレコード、または他の同様の状況をユーザーに警告することができます。最初のアラート作成の詳細については、このリンクを参照してください。
- Update_Dashboard_Dataset: 必要であれば、タスクは並行して定義することができます。この例では、アラートがトリガーされている間に、並列クエリでダッシュボードにフィードするデータセットビューの更新を開始することができます。
- Dashboard_Refresh: 最後に、ダッシュボードのタスクタイプを作成します。データセットの準備が整うと、このタスクは以前に定義されたすべてのビジュアライゼーションを最新のデータで更新し、正常に完了するとすべての購読者に通知します。ユーザはタスクを定義する際に特定のパラメータをダッシュボードに渡すこともでき、エンドユーザのニーズに応じてダッシュボードのデフォルトビューを生成するのに役立ちます。
このワークフローの例では、Databricks SQL Editor で直接記述したクエリを使用しています。同様のパターンは、File タスクタイプを使用してリポジトリから取得した SQL コードでも実現できます。このタスクタイプでは、自動化されたワークフローの一部として Git リポジトリに保存された .sql ファイルを実行することができます。パイプラインが実行されるたびに、特定のブランチの最新バージョンが取得されて実行されます。File タスクタイプの詳細については、こちらのアナウンスブログをご覧ください。
この例は基本的なものですが、データ分析者が SQL タスクタイプ間の依存関係を定義して包括的な分析パイプラインを構築できる可能性が見えてきます。
プロダクションパイプラインのモニタリング
Workflows ではオーサリングを包括的に行えますが、それは一部分に過ぎません。同様に重要なのは、パイプラインがビルドされ、本番稼動した後に、パイプラインを簡単に監視およびデバッグできることです。
ワークフローでは、個々のジョブの実行を監視し、タスクの結果や全体的な実行時間に関する洞察を得ることができます。この可視性により、アナリストはクエリのパフォーマンスを理解し、ボトル ネックを特定し、効率的に問題に対処することができます。注意が必要なタスクを迅速に認識することで、アナリストはシームレスなデータ処理と迅速な問題解決を実現できます。
パイプラインを適切なタイミングで実行する場合、Workflowsでは、特定の間隔でジョブを実行するようスケジュールしたり、特定のファイルが到着したときにジョブをトリガーしたりできます。上の画像では、まず手動でこのパイプラインをトリガーして、タスクのテストとデバッグを行っています。これが安定した状態になると、タイムゾーンをまたぐデータ更新のニーズに対応するため、12時間ごとにこのパイプラインをトリガーするようになりました。この柔軟性により、さまざまなデータシナリオに対応し、タイムリーなパイプラインの実行を保証します。ルーチン処理であれ、新しいデータバッチへの対応であれ、アナリストは運用要件に合わせてジョブの実行を調整できます。
データの到着が遅れると、エンドユーザーからデータアナリストへの質問が殺到します。ワークフローでは、ジョブの実行成功、失敗、あるいは長期間のジョブの実行などのジョブ結果に対する通知を設定することで、アナリストとコンシューマーが同様にデータの鮮度に関する情報を常に把握することができます。これらの通知により、データ処理の変更をタイムリーに認識できます。パイプラインのステータスをプロアクティブに評価することで、アナリストはリアルタイムの情報に基づいて事前対策を講じることができます。
すべてのパイプラインと同様に、失敗は避けられません。ワークフローは、アナリストが自動再試行のためのジョブタスクを構成できるようにすることで、これを管理するのに役立ちます。再試行を自動化することで、アナリストは断続的な技術的問題のトラブルシューティングではなく、洞察の生成に集中することができます。
まとめ
データ分析ツールの進化に伴い、Databricks Workflows はデータアナリストと複雑なデータオーケストレーションのギャップを埋めています。タスクを自動化し、データ品質を確保し、使いやすいインターフェイスを提供することで、Workflowsはアナリストが得意とする、データから意味のあるインサイトを抽出することに集中できるようにします。レイクハウスのコンセプトが発展し続ける中、ワークフローは、すべてのペルソナのための統一された効率的なデータエコシステムを約束する、極めて重要なコンポーネントです。
はじめるには
- Databricks Workflowsの詳細をご覧ください。
- Databricks Workflowsの製品ツアーをご覧ください。(product tour of Databricks Workflows)
- このクイックスタートガイドで最初のワークフローを作成してください。