1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

ADLSにあるデータを使ってDatabricks SQLでダッシュボードを作成する

Last updated at Posted at 2022-08-19

タイトルの通り、ADLSに配置したCSVファイルからDatabricks SQLのダッシュボードを作る流れを説明します。

ファイルのアップロード

ストレージアカウントとコンテナーを作成し、CSVファイルをアップロードします。こちらのファイルは日本国内のCOVID-19感染者数データを加工したものとなっています。

オープンデータ|厚生労働省で公開されている新規陽性者数の推移(日別)を加工しています。

Screen Shot 2022-08-19 at 20.41.52.png

Azure DatabricksからADLSにアクセス

注意
WASBドライバーを用いたアクセスやファイルシステムのマウントは非推奨となっています。ここではABFSドライバーによるアクセス方法を説明します。詳細はこちらも参照ください。

Python
spark.conf.set("fs.azure.account.key.takaucstorageaccount.dfs.core.windows.net", "<アクセスキー>")

ディレクトリの中身を確認します。

Python
display(dbutils.fs.ls("abfss://<コンテナー名>@<ストレージアカウント名>.dfs.core.windows.net/adls_data"))

Screen Shot 2022-08-22 at 10.59.24.png

テーブルの作成

ABFSドライバー経由でCSVファイルにアクセスできるので、CREATE TABLE文を使ってCSVファイルから直接テーブルを作成します。

SQL
CREATE TABLE default.covid_cases(
  Prefecture STRING,
  Cases INT,
  date_parsed TIMESTAMP
) USING CSV LOCATION "abfss://<コンテナー名>@<ストレージアカウント名>.dfs.core.windows.net/adls_data/japan_cases_20220818.csv" OPTIONS("header" = "True");

テーブルへのクエリー

SQL
SELECT * FROM default.covid_cases;

この時点でもノートブック上で簡単な可視化を行うことができます。

Screen Shot 2022-08-19 at 21.26.33.png
Screen Shot 2022-08-19 at 21.26.48.png

ダッシュボードの作成

Databricks SQLに移動します。上で作成したテーブルはDatabricks SQLからも参照できます。

クエリーを作成し、必要な可視化を設定していきます。
Screen Shot 2022-08-19 at 21.28.18.png

以下のクエリーでは全国の感染者数のデータを除外し、今年のデータのみに限定しています。その他年月で集計できるようにYearMonthという列を追加しています。

SQL
SELECT
  *,
  date(date_parsed) AS Date,
  month(date_parsed) AS Month,
  year(date_parsed) AS Year,
  concat(year(date_parsed), "-",  RIGHT(concat("0", month(date_parsed)), 2)) AS YearMonth
FROM
  default.covid_cases
WHERE
  Prefecture <> "ALL" AND date_parsed > "2022-1-1"

可視化(ビジュアライゼーション)は時系列変化、地域別、割合などを作成します。
Screen Shot 2022-08-19 at 21.30.32.png
Screen Shot 2022-08-19 at 21.30.44.png
Screen Shot 2022-08-19 at 21.30.50.png

また、ダッシュボード上で絞り込みが行えるように、Prefecture(県)や日付でのフィルターを追加しています。
Screen Shot 2022-08-19 at 21.32.11.png

クエリーの準備が整ったらダッシュボードを作成します。ダッシュボード上に上で作成したビジュアライゼーションを配置していきます。
Screen Shot 2022-08-19 at 21.34.04.png

このようなダッシュボードが出来上がりました。フィルターを追加してあるので都道府県や時期での絞り込みもできるようになっています。
Screen Shot 2022-08-19 at 21.35.20.png
Screen Shot 2022-08-19 at 21.35.38.png

ダッシュボードの詳細に関しては、前処理含めて別に記事を書こうと思っています。

Databricks 無料トライアル

Databricks 無料トライアル

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?