メインコンテンツへジャンプ

マテリアライズドビュー

Databricks 無料トライアル

データブリックスの Delta パイプラインとマテリアライズドビュー

概要

Delta パイプラインは、データパイプラインのライフサイクルを管理する API と UI を提供します。オープンソースのフレームワークがデータエンジニアリングチームによる ETL の開発をシンプルにし、データの信頼性を向上させ、運用の拡張を支援します。データ変換のコーディングやジョブのスケジューリングを行う代わりに、宣言型パイプラインを構築することで、データの最終状態を容易に定義できます。さまざまなタスク間の依存関係を連結させることにより、1 つのテーブルを更新するだけで自動的に全てのダウンストリームの再処理が行われます。Delta Lake により高信頼のデータレイクが実現し、Delta パイプラインによりデータワークフローに高信頼のデータパイプラインが提供されます。

Delta パイプラインデータセット

Delta パイプラインの主要な抽象化手法は、データセットとして知られています。データセットとは、基本的にベーステーブルのクエリやビューのことで、API を使用して表示されます。以下は、Scala API を用いた例です。


dataset("events")
   .query {
       input("base_table")
       .select(...)
       .filter(...)
   }

データセットのマテリアライズドビューの作成

Delta パイプラインでは、以下のようにデータセットに .materialize() の演算子を連結させることで、データのマテリアライズドビューを作成することも可能です。


dataset("events")
  .query {
     input("base_table")
     .select(...)
     .filter(...)
  }
     .materialize()

すなわち、データが Delta パイプラインを流れると、データセット「events」のマテリアライズドビューが継続的に更新されることを意味します。また、新しいデータが取り込まれ、ACID トランザクションによりベーステーブルにコミットされると、マテリアライズドビューでは、継続的にトランザクションごとの増分が更新されます。ユーザーによるマテリアライズドビューの更新は不要であり、OPTIMIZE コマンドや VACUUM コマンドをいつ実行するかといった心配をする必要はありません。全てバックグラウンドで自動的に行われます。

Delta パイプラインついての詳細は、動画をご覧ください。

    用語集に戻る