[レポート] Apache Supersetによるデータレイクの可視化 – Subsurface LIVE Summer 2021

2021.08.10

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

米国時間2021年07月21日〜22日の計2日間、オンラインで開催された「Subsurface LIVE Summer 2021」では、主催となるDremio社のサービスやクラウドデータレイクに関する各種サービスやプロダクトのセッションが展開されていました。

当エントリでは、その中から「Visualize Your Data Lake Using Apache Superset」(Apache Supersetによるデータレイクの可視化)というセッションについてレポートします。

目次

 

セッション概要

セッション概要は以下の通り。

<セッションタイトル>
Visualize Your Data Lake Using Apache Superset
(Apache Supersetによるデータレイクの可視化)

<登壇者>
Robert Stolz - Data Engineer, Developer Advocate @ Preset

<発表内容>
Apache Superset is an open source BI platform built for modern data teams. Originally created by Max Beauchemin (who also created Apache Airflow), Superset embraces open standards to speak to nearly any SQL speaking data engine and support all viz types.

Superset has two key workflows, designed to support all personas in an organization. SQL-savvy analysts can tap into SQL Lab, a browser-based SQL IDE to explore and sculpt data. Stakeholders can use Explore, a no-code viz builder that generates SQL for you.

In this talk, I’ll showcase how both workflows empower end users to visualize data from Dremio in Superset.

(Apache Supersetは、現代のデータチームのために開発されたオープンソースのBIプラットフォームです。Supersetは、Apache Airflowを開発したMax Beauchemin氏によって開発されました。Supersetは、オープンスタンダードを採用しており、ほぼすべてのSQLデータエンジンに対応し、あらゆる種類の画像をサポートします。

Supersetには2つの主要なワークフローがあり、組織内のすべてのペルソナをサポートするように設計されています。SQLに精通したアナリストは、ブラウザベースのSQL IDEであるSQL Labを使用して、データを探索したり彫刻したりすることができます。利害関係者は、SQLを生成するコード不要のビズビルダーであるExploreを使用できます。

本講演では、この2つのワークフローにより、エンドユーザーがSupersetでDremioのデータをどのように可視化するかを紹介します。)

 

セッションレポート

ここからはセッションレポートとなります。それぞれのトピックに関して要点をまとめる形で紹介。

アジェンダ

  • 1.Apache Supersetの紹介
  • 2.Supersetを実現する技術とは
  • 3.Explore, SQL Lab, Dashboards
  • 4.Supersetを最大限に活用するためのヒント+データレイクアーキテクチャ

Apache Superset概要

  • Apache Supersetは、最新の企業向けビジネスインテリジェンスWebアプリケーション
    • 高速、軽量、直感的な操作が可能
    • シンプルな円グラフから非常に詳細な deck.gl 地理空間チャートまで、あらゆるスキルセットのユーザーが簡単にデータを探索し、視覚化できるオプションを備えている
  • 元々Airbnb社によって開発・作成されていたもの
  • 2017年にApache Incubatorへ参加
  • 現在バージョン1系のものが展開されている(v1.2)
  • 以下様々な企業がSupersetを利用している
    • Airbnb, Udemy, Dropbox, American Express, Netflix, Twitter, Dremio, Fanatics, Nielsen, Wikimedia

Apache Supersetの特徴

  • オープンソースの成熟したエンタープライズBI
    • ダイナミックなダッシュボード
      • ダッシュボードのフィルターとJinjaのテンプレートにより、エンドユーザーはデータをより深く掘り下げることができる
    • SQLラボ
      • 最先端のSQLIDEにリッチなメタデータブラウザを搭載し、より深い分析を実現
    • ノーコード探索
      • コードを書くこと無くデータから美しい複雑なチャートを作成することが出来る
    • リッチなビジュアライゼーション
      • 地理空間情報を含む美しいインタラクティブな可視化を実現
    • 詳細な権限設定
      • 行レベルのセキュリティ、設定可能なデータポリシー
    • カスタムビジュアライズプラグイン
      • 独自のカスタム・ビジュアライゼーション・プラグインの構築、または一般的なサードパーティ製プラグインへの接続を実現
    • セマンティックレイヤー
      • 仮想カラム、仮想テーブル、ビュー作成などをサポート
    • モダンデータスタック(MDS)をサポート
      • 一般的なクラウドデータウェアハウスやSQLエンジンを含む、あらゆる"SQLを会話する"データベースに接続可能
    • キャッシング
      • データベースへの負荷を軽減 - クエリを高速化し、結果を高速化
    • アラート&レポート
      • データにディップやスパイクが発生したときに、Slackやメールで通知を受けることができる
  • 接続対応しているデータベースは以下を参照
  • 軽量セマンティックレイヤー構成
    • フロントエンド:React
    • バックエンド:Python
    • データソース:SQL
    • 参考:

データレイクアーキテクチャとApache Superset

Apache Supersetを探索する

Apache Supersetにおけるチャート内分析

Apache Supersetでは時系列分析を行うことも出来る。詳細は下記参照。

SQL Lab

  • SQL Labは、クエリでのJinjaテンプレートをサポートしている
    • スーパーセットの設定(superset_config.py)でJINJA_CONTEXT_ADDONSを定義し、環境のデフォルトJinjaコンテキストをオーバーロードする必要がある
    • 設定されたオブジェクトは、ユーザーが自分のSQLコードで使用できるようになる
    • 詳細は以下ページを参照

ダッシュボード

ダッシュボード:ネイティブフィルタ

SupersetとDremioを併用する際のTips

  • Dremioのリフレクション機能を利用して、大規模なテーブルのクエリ時間を短縮しよう
  • クエリキャッシングを設定することで、データレイクへの不要なクエリを最小限に抑えることができる
  • SupersetはSQLを話すが、全てをDremio内に含める必要はない
  • ダッシュボード・ネイティブ・フィルターを使用して、ダッシュボード・コンシューマーがコードなしで大規模データセットを操作できるようにする

 

まとめ

という訳で、クラウドデータレイクイベント『Subsurface LIVE Summer 2021』のセッション「Visualize Your Data Lake Using Apache Superset」(Apache Supersetによるデータレイクの可視化)のレポートでした。

Apache Superset、個人的にはまだ触ったことは無かったですがデータレイクとの相性も良さそうですね。「データレイクとの連携」という観点で今度触ってみたいと思います。