💡

Unity Catalogボリュームとダッシュボード機能でCSVデータをインタラクティブに可視化する

に公開

1. 事前準備

  • Unity Catalogでボリュームが作成済みであること。 (※ボリュームが存在しない場合は、カタログエクスプローラーでスキーマを選択し、「ボリュームを作成」から作成できます。)
  • 分析対象となるCSVファイル(動画ではtransport.csv)が手元に準備されていること。

2. 目的

Databricksプラットフォームを利用し、ローカルのCSVファイルをGUI操作のみで取り込み、データの流れを可視化するサンキーチャートを含むインタラクティブなダッシュボードを迅速に作成するプロセスを体験します。
具体的には、以下の項目を試します。

  • Unity Catalog Volumesへのファイルアップロード。
  • GUIを使用した、CSVファイルからのDelta Lakeテーブルの作成。
  • Databricksダッシュボードにおける、サンキーチャートの作成。
  • ダッシュボードにフィルターを追加し、動的なデータ分析を可能にするプロセス。

3. 実行環境

  • プラットフォーム: Databricks Free Edition
  • データソース: ローカルに保存されたCSVファイル

4. 試してみた

ステップ1: Unity Catalog ボリュームへのファイルアップロード

まず、分析の元となるCSVファイルをDatabricksにアップロードします。ここでは、ファイルを管理するための場所としてUnity Catalogの「ボリューム」機能を使用します。

実行手順の概要:

  1. DatabricksのUI左側のメニューから カタログ をクリックし、カタログエクスプローラーを開きます。
  2. ファイルをアップロードしたいカタログ・スキーマを展開し、その中にある ボリューム を選択します。
  3. 画面右上の 「このボリュームにアップロード」 ボタンをクリックします。
  4. 表示されたダイアログに、手元のCSVファイルをドラッグ&ドロップし、「アップロード」ボタンをクリックしてアップロードを完了します。

ステップ2: ボリューム上のCSVからDelta Lakeテーブルを作成

次に、アップロードしたCSVファイルから直接テーブルを作成します。この操作により、データは分析に適したDelta Lake形式に変換されます。

実行手順の概要:

  1. ボリューム内にアップロードされたCSVファイルにカーソルを合わせ、右端に表示されるケバブメニュー(︙)をクリックし、 「テーブルを作成」 を選択します。
  2. 「ボリュームからテーブルを作成する」ダイアログで、作成するテーブルの保存場所(カタログ、スキーマ)と テーブル名 を指定します。
  3. プレビュー画面でデータが正しく表示されていることを確認します。もし、意図しない列(動画では _rescued_data)が自動で追加されている場合は、その列のケバブメニューから 「除外する列」 を選択して取り除きます。
  4. 「テーブルを作成」 ボタンをクリックします。

ステップ3: 作成したテーブルの確認

テーブルが正しく作成されたことを確認します。

実行手順の概要:

  1. テーブル作成後、自動的にテーブルの詳細画面に遷移します。
  2. サンプルデータ タブをクリックすると、テーブルにロードされた実際のデータを確認できます。

ステップ4: ダッシュボードの作成とサンキーチャートの追加

作成したテーブルをデータソースとして、データの流れを可視化するダッシュボードを作成します。

実行手順の概要:

  1. テーブル詳細画面の右上にある 「ダッシュボードで開く」 ボタンをクリックします。
  2. 新しいダッシュボードの編集画面に遷移します。右側のウィジェット設定パネルで、「可視化」のドロップダウンメニューから 「Sankey」 を選択します。
  3. サンキーチャートの設定を行います。
    • : グラフの流量を示す項目です。「+」をクリックし、集計したい数値列(動画では「数量」)を選択します。
    • Stages (段階): データの流れの各段階を指定します。「+」をクリックし、流れの順に列(例:「工場」→「工場周辺倉庫」→「消費地倉庫」→「届出先」)を追加していきます。
  4. 設定が完了すると、キャンバス上にサンキーチャートが自動で描画されます。

ステップ5: インタラクティブなフィルターの追加

特定の製品に絞り込んでデータの流れを確認できるよう、ダッシュボードにフィルター機能を追加します。

実行手順の概要:

  1. ダッシュボード編集画面の下部にあるツールバーから、フィルターアイコン(漏斗の形)をクリックします。
  2. キャンバス上部にフィルターウィジェットが追加されます。右側の設定パネルで、「フィールド」の「+」をクリックし、フィルターをかけたい列(動画では「製品」)を選択します。
  3. これでフィルターの設置は完了です。フィルターのドロップダウンから特定の製品を選択すると、サンキーチャートが動的に更新され、絞り込まれたデータの流れを確認できます。

5. 最後に

今回のハンズオンを通じて、Databricksの強力なGUI機能を活用し、プログラミングを行うことなく、ローカルのCSVファイルからインタラクティブなダッシュボードまでをシームレスに作成できることを確認しました。

  • Unity Catalog Volumes は、SQLからアクセス可能なファイル置き場として機能し、データ取り込みの最初のステップを簡素化します。
  • GUIベースのテーブル作成機能 は、CSVのような一般的なファイル形式から、信頼性とパフォーマンスに優れたDelta Lakeテーブルへの変換を自動で行ってくれます。
  • Databricksダッシュボード は、サンキーチャートのような高度な可視化もノーコードで実現でき、フィルター機能と組み合わせることで、誰でも直感的なデータ探索が可能になります。

これらの機能により、データアナリストやビジネスユーザーは、複雑なETL処理を意識することなく、迅速にデータからインサイトを得ることができます。

6. 参考資料

  1. Databricks AI/BIダッシュボードのサンキー図を作ってみた

Discussion