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

このブログ記事では、Databricks SQLマテリアライズド・ビューをLakeviewダッシュボードで使用して、ビジネスに新鮮なデータと洞察を提供する方法を紹介します。

先日、Databricks Data Intelligence PlatformにおけるLakeviewダッシュボードのパブリックプレビューを発表しました。Lakeview のダッシュボードは、Databricksの顧客のためのビジュアライゼーションとレポーティング体験の作成において、大きな前進を意味します。 視覚化が大幅に改善され、共有や配布に最適化されたシンプルなデザイン体験を提供します。

Lakeview ダッシュボードはDatabricks SQL(DBSQL) データウェアハウス上で実行されます。 DBSQLを使用すると、レガシーなクラウドデータウェアハウスの数分の一のコストで、選択したツールですべてのSQLおよびBIアプリケーションを大規模に実行できます。

マテリアライズド・ビューは、ビジネスに新鮮なデータを提供するのに役立つ

マテリアライズド・ビュー(MV)は通常のビューと同様ですが、事前に計算され、ソースが変更されると自動的に更新されます。 エンドユーザーのクエリやダッシュボードが高速なのは、ソース・テーブルの膨大なデータ量を直接クエリするのではなく、事前に計算されたデータをクエリするためです。 ダッシュボードのパフォーマンスは、Lakeview の使用データとイベント・ログのレポートを含む社内のユースケースを通じて改善されました。 ダッシュボードのレスポンスタイムは、1クエリあたり30秒以上からわずか1~2秒へと大幅に短縮されました。 クエリー速度の向上はMVのクエリー定義に大きく依存するため、ユーザーは自身のデータで実験することをお勧めします。

マテリアライズドビュー

その仕組みとメリットについて詳しく見ていきましょう。

  1. 第一に、MVは宣言的な方法で複雑な変換を迅速に処理することができます。MVは更新/削除やソースへのあらゆる変更を自動的に処理し、あらゆるクエリに対して定義できるため、ETLに最適です。
  2. MVはソースの更新をインクリメンタル(増分的)に反映するため、新しいデータが到着したときにビューを再構築する必要がなく、全体的な計算時間が短縮されます。
  3. エンドユーザーによるクエリやダッシュボードは、データが事前に計算されているため、より高速になります。

MVはまた、Databricks SQLデータウェアハウスに増分的にデータを取り込むためのストリーミングテーブルと組み合わせて使用することもでき、エンドツーエンドのETLパイプラインをストリーミング方式で構築することができます。

ステップバイステップガイド - MVを使用してLakeviewダッシュボードを高速化

以下のガイドでは、MVを活用してLakeviewダッシュボードを高速化する方法をステップバイステップで説明します。

MV は、大規模なソース・テーブルや複雑な変換(生データからの集計の計算など)の要約に最適です。

ステップ 1: マテリアライズド・ビューの作成

例えば、1時間ごとに更新される各注文の日付と優先度によってセグメント化された注文から発生した総収入を分析する必要があるとします。 典型的なSQLクエリは次のようになります:

SELECT
     o_orderdate AS order_date,
     o_orderpriority AS order_priority,
     sum(o_totalprice) AS total_price
FROM
     demo.dss_acme.orders
WHERE
     o_orderdate > '2023-12-01'
AND
     o_orderdate < '2023-12-31'
GROUP BY ALL

上記のクエリをLakeviewダッシュボードで使用することもできますが、データの鮮度要件が不足していることに変わりはありません。 また、データ量が大きい場合、新しいテーブルの作成に1時間以上かかることがあります。 マテリアライズド・ビューを使用すると、スケジュールを簡単に設定でき、MVをインクリメンタルに更新できるため、テーブルの完全な再計算に比べて更新が非常に高速になります。

このクエリをマテリアライズド・ビューで使用するには、単純にクエリをマテリアライズド・ビューのCREATE文で囲み、DBSQLクエリに入れ、次のように実行します:

create materialized view if not exists
  demo.dss_acme.orders_mw
  - - - Refresh hourly
  schedule cron '0 0 * * * ?'
as (
SELECT
     o_orderdate AS order_date,
     o_orderpriority AS order_priority,
     sum(o_totalprice) AS total_price
FROM
     demo.dss_acme.orders
WHERE
     o_orderdate > '2023-12-01'
AND
     o_orderdate < '2023-12-31'
GROUP BY ALL
);

この場合、cron構文はMVを1時間ごとに更新するように指定します。 この部分がないと、ダッシュボードはマテリアライズド・ビューを作成してから到着した新しいデータを拾うことができません。 詳細はCREATE MATERIALIZED VIEWquartz cron構文のドキュメントを参照してください。 また、カタログエクスプローラーで、クエリ定義やMVに関するその他の詳細を確認することもできます。

ステップ 2: 他の人にマテリアライズド・ビューへのアクセス権を与える

マテリアライズド・ビューへのアクセス権を他の人に与えて、他の人がダッシュボードを見るときにマテリアライズド・ビューを使用できるようにするには、以下の手順に従います:

  1. 次のコマンドを実行して、USE SCHEMA にマテリアライズド・ビューがあるカタログへのアクセス権を与えます:
    GRANT USAGE ON SCHEMA demo.dss_acme TO user_or_role;
  2. 以下のコマンドでMVにSELECT権限を付与します:
    GRANT SELECT ON demo.dss_acme.orders_mw TO user_or_role;

SQLクエリを実行する代わりにDatabricks Catalog Explorer UIを使用してアクセス権を管理することもできます。 詳しくはドキュメントをご覧ください。

ステップ3:Lakeviewダッシュボードでマテリアライズド・ビューを使う

これで、元のLakeviewダッシュボードのクエリを事前に計算するMVが作成されました。 最後のステップは、既存のLakeviewダッシュボードを更新し、SQLを元のMVではなく、この新しいMVにクエリするように置き換えることです。

Lakeviewのダッシュボードに戻り、以下のようにコードを更新します:

select * from demo.dss_acme.orders_mw;

ステップ4:高速化されたダッシュボードをお楽しみください!

...以上で終わりです! すべてが正しく動作していれば、ダッシュボードは高速になっているはずです!

ダッシュボード

まとめ

Lakeview ダッシュボードは、Databricks データインテリジェンスプラットフォーム上の強力な可視化およびレポート作成ツールです。 マテリアライズド・ビューは、Lakeview ダッシュボードのエンドユーザーの応答時間を大幅に改善するために使用できる新しい機能です。 数回クリックするだけで、MVとLakeviewを組み合わせた、より高速なエンドユーザーエクスペリエンスを素早く構築できます。

マテリアライズド・ビューを作成および管理するには、パブリック・プレビューに登録する必要があります。 このリンクをクリックすると、マテリアライズド・ビューのパブリック・プレビューへのアクセスをリクエストできます。 これらのリンクでマテリアライズド・ビューおよびLakeview ダッシュボードに関するドキュメントを参照してください。

Databricks 無料トライアル

関連記事

Platform blog

Databricks SQLのマテリアライズド・ビューとストリーミング・テーブルの紹介

翻訳:Junichi Maruyama. - Original Blog Link AWSとAzure上の Databricks SQL でマテリアライズド・ビューとストリーミング・テーブルが公開されたことをお知らせできることを嬉しく思います。ストリーミングテーブルは、クラウドストレージやメッセージキューからの増分インジェストを提供します。マテリアライズド・ビューは、新しいデータが到着すると自動的にインクリメンタルに更新されます。これら2つの機能を組み合わせることで、インフラストラクチャを必要としないデータパイプラインが実現し、セットアップが簡単で、新鮮なデータをビジネスに提供することができます。このブログポストでは、アナリストやアナリティクス・エンジニアがデータウェアハウスでデータとアナリティクス・アプリケーションをより効果的に提供するために、これらの新機能がどのように役立つかを探ります。 背景 データウェアハウスとデータエンジニアリングは、データ駆動型の組織にとって極めて重要である。データウェアハウスはアナリ
Platform blog

Lakeviewダッシュボードがパブリックプレビューになりました!

翻訳:Saki Kitaoka. - Original Blog Link Databricksの次世代SQLダッシュボード「 Lakeview dashboards 」のパブリックプレビューを発表できることを嬉しく思います。本日より利用可能なこの新しいダッシュボードエクスペリエンスは、使いやすさ、幅広い配布、ガバナンス、セキュリティのために最適化されています。 Lakeview は、旧世代のダッシュボードと比較して、4 つの主要な改善点を提供します: ビジュアライゼーションの改善 : 新しいビジュアライゼーション・エンジンにより、美しくインタラクティブなチャートが最大10倍高速に描画されます。 共有と配布の最適化 : ドラフト/パブリッシュ機能により、ダッシュボードを自由に編集することができます。Databricks ワークスペースに直接アクセスできない組織内のコンシューマーとも安全に共有できます。 シンプルなデザイン : WYSIWYG...
プラットフォームブログ一覧へ