Databricks SQL : ユーザー向けクイックスタート

[Quickstart: Run and visualize a query \| Databricks on AWS](https://docs.databricks.com/sql/get-started/user-quickstart.html) [2022/8/16時点]の翻訳です。

*クイックスタート： クエリーの実行と可視化*

> [Databricksクイックスタートガイド](https://qiita.com/taka_yayoi/items/125231c126a602693610)のコンテンツです。

このクイックスタートでは、人々の情報を格納したテーブルから、`Mary`という名前の女性を生まれた年でグルーピングし、グループごとの数をカウントし結果を可視化します。

テーブルのカラムは、`id`、`firstName`、`middleName`、`lastName`、`gender`、`birthDate`、`ssn`、`salary`となります。

# 要件

Databricks SQLの管理者はDatabricks SQLの[管理者向けクイックスタート](https://qiita.com/taka_yayoi/items/8b6154eb8bfe202951c6)を修了する必要があります。

# Databricks SQLのUIを用いてテーブルをクエリーし、ビジュアライゼーションを作成する

- [サイドバーの使用](#サイドバーの使用)
- [ステップ1: Databricks SQLにログインする](#ステップ1-databricks-sqlへのログイン)
- [ステップ2: peopleテーブルをクエリーする](#ステップ2-peopleテーブルをクエリーする)
- [ステップ3: ビジュアライゼーションの作成](#ステップ3-ビジュアライゼーションの作成)
- ステップ4: ダッシュボードの作成
- 次のステップ

## サイドバーの使用

サイドバーからDatabricksの全てのアセットにアクセスできます。サイドバーのコンテンツは選択するペルソナ(**Data Science & Engineering**、**Machine Learning**、**SQL**)によって決まります。

- デフォルトではサイドバーは畳み込まれた状態で表示され、アイコンのみが表示されます。サイドバー上にカーソルを移動すると全体を表示することができます。
- ペルソナを変更するには、Databricksロゴの直下にあるアイコンからペルソナを選択します。
![](https://docs.databricks.com/_images/change-persona.gif)
- 次回ログイン時に表示されるペルソナを固定するには、ペルソナの隣にある![](https://docs.databricks.com/_images/persona-pin.png)をクリックします。再度クリックするとピンを削除することができます。
- サイドバーの一番下にある**Menu options**で、サイドバーの表示モードを切り替えることができます。Auto(デフォルト)、Expand(展開)、Collapse(畳み込み)から選択できます。

### 別のワークスペースに切り替える

同じアカウントにおいて1つ以上のワークスペースにアクセスできる場合、それらをクイックに切り替えることができます。

1. Databricksワークスペースの左下にある![](https://docs.databricks.com/_images/account-icon.png)をクリックします。
1. **Workspaces**で切り替えたいワークスペースを選択します。

## ステップ1: Databricks SQLへのログイン

Databricks SQLにログインした際のランディングページは以下のようなものとなります。
![](https://docs.databricks.com/_images/landing-dbsql-user.png)

Databricks Data Science & EngineeringやDatabricks Machine Learning環境が表示される場合には、Databricks SQLに切り替えるために[サイドバーを使用](#サイドバーの使用)します。

## ステップ2: peopleテーブルをクエリーする

[Databricks SQL : 管理者向けクイックスタート](https://qiita.com/taka_yayoi/items/8b6154eb8bfe202951c6)では、管理者が`people10`というテーブルを作成しています。このセクションでは、このテーブルにクエリーを実行し、Maryという名前のすべての人の誕生日と誕生年を表示します。

1. サイドバーで![](https://docs.databricks.com/_images/create-icon.png)**Create**をクリックし**Query**を選択します。

    SQLエディタが表示されます。

1. **Starter Warehous**(あるいは好きなSQLウェアハウス)を選択します。

    最初のクエリーを作成する際、利用可能なSQLウェアハウスの一覧はアルファベット順で表示されます。次にクエリーを作成する際には、最後に使用したウェアハウスが選択されます。

1. `Mary`という名前の女性の数をクエリーする以下のSELECT文を貼り付けます。

    ```sql:SQL
    SELECT year(birthDate) as birthYear, count(*) AS total
    FROM default.people10m
    WHERE firstName = 'Mary' AND gender = 'F'
    GROUP BY birthYear
    ORDER BY birthYear
    ```

1. **Ctrl/Cmd + Enter**を押すか、**Execute**ボタンをクリックします。

     **Limit 1000**チェックボックスはデフォルトで選択されており、最大1000行の結果を返すようになっています。より多くの行を取得したい場合には、チェックボックスの選択を解除し、クエリーに`LIMIT`句を指定します。クエリーの実行結果はTableタブに表示されます。
![](https://docs.databricks.com/_images/query-result.png)

1. クエリーを保存するには**Save**をクリックします。
1. **Save query**テキストボックスで**Marys**を入力し**Save**をクリックします。

## ステップ3: ビジュアライゼーションの作成

1. **+ Add Visualization**タブをクリックします。

    ビジュアライゼーションエディタが表示されます。
    ![](https://docs.databricks.com/_images/visualization-editor.png)
1. ビジュアライゼーションの名前を**Marys by birth year**に変更します。
1. **Visualization Type**ドロップダウンで**Bar**を選択します。
1. **X Column**ドロップダウンで**birthYear**を選択します。
1. **Y Column**ドロップダウンで**total**を選択します。
1. **X Axis**タブをクリックします。
1. Nameフィールドに`Birth Year`と入力します。
1. **Y Axis**タブをクリックします。
1. Nameフィールドに`Number of Marys by Birth Year`と入力します。
1. **Save**をクリックします。
    保存したグラフがSQLエディタに表示されます。
    ![](https://docs.databricks.com/_images/marys-chart-qs.png)

## ステップ4: ダッシュボードの作成

1. サイドバーの![](https://docs.databricks.com/_images/create-icon.png)**Create**をクリックし**Dashboard**を選択します。
1. ダッシュボード名として`People`と入力します。
1. **Save**をクリックします。
1. **Add**ドロップダウンリストで、**Visualization**をクリックします。
1. **Add visualization widget**で**Mary**を選択します。
![](https://docs.databricks.com/_images/add-visualization-widget.png)
1. **Add to Dashboard**をクリックします。
1. **Done Editing**をクリックします。
![](https://docs.databricks.com/_images/dashboard.png)

## 次のステップ

- 以下のいずれかを行うことで、豊富なビジュアライゼーションや再利用可能なレイアウトのスタート地点を提供するいくつかのサンプルダッシュボードを参照します。
    - **Dashboards**の下にある**View gallery**をクリックします。
    - `https://<databricks-instance>/sql/dashboards/samples`にアクセスします。`<databricks-instance>`を`dbc-a1b2345c-d6e7.cloud.databricks.com`のようなお使いの[ワークスペースインスタンス名](https://qiita.com/taka_yayoi/items/7127cabac70dd994fcba#%E3%83%AF%E3%83%BC%E3%82%AF%E3%82%B9%E3%83%9A%E3%83%BC%E3%82%B9%E3%81%AE%E3%82%A4%E3%83%B3%E3%82%B9%E3%82%BF%E3%83%B3%E3%82%B9%E5%90%8Durlid)で置き換えます。
- [一般的なBIツール](#databricks-sqlに接続したbiツールを用いてテーブルをクエリーしビジュアライゼーションを作成する)を用いてテーブルをクエリーし、ビジュアライゼーションを作成します。


# Databricks SQLに接続したBIツールを用いてテーブルをクエリーし、ビジュアライゼーションを作成する

このセクションでは、どのようにしてDatabrikcs SQL情報を取得し、Power BIデスクトップ、TableauオンラインをSQLエンドポイントに接続し、それぞれのBIツールでpeopleテーブルをクエリーし、データを可視化すのかを説明します。

本章では以下を説明します。

- [Databricks SQL](#databricks-sql)
- [Power BI](#power-bi)
- [Tableauオンライン](#tableauオンライン)

## Databricks SQL

このセクションでは、どのようにウェアハウスの接続情報を取得し、お使いのツールからDatabricks SQLの認証を得るためのトークンを生成するのかを説明します。

### ステップ1: SQLウェアハウス接続情報詳細の取得

1. [Databricks SQLにログイン](#ステップ1-databricks-sqlへのログイン)します。
1. サイドバーの![](https://docs.databricks.com/_images/endpoints-icon.png)**SQL Warehouses**をクリックします。
1. ウェアハウス一覧で、フィルターボックスに`Starter`と入力します。
1. **Starter Warehouse**リンクをクリックします。
1. **Connection Detail**タブをクリックします。
    ![](https://docs.databricks.com/_images/endpoint-connection-details.png)
1. ![](https://docs.databricks.com/_images/copy-icon.png)をクリックしてサーバーのホスト名とHTTPパスをコピーします。

### ステップ2: パーソナルアクセストークンの取得

パーソナルアクセストークンを使用することでDatabricks SQLに対する認証を行うことができます。

1. サイドバーの下にある![](https://docs.databricks.com/_images/user-settings-icon.png)**Settings**をクリックし、**User Setting**を選択します。
1. **Personal Access Tokens**タブをクリックします。
1. **+ Generate New Token**をクリックします。
1. 必要に応じてコメントを入力し、トークンの有効期限を設定します。
1. **Generate**をクリックします。
1. ![](https://docs.databricks.com/_images/copy-icon.png)をクリックしてトークンをコピーし**OK**をクリックします。

## Power BI

### ステップ1: Power BIからDatabricks SQLへの接続設定

1. **Get Data > More… > Azure**を選択し、**Azure Databricks**コネクターを選択します。
    ![](https://docs.databricks.com/_images/power-bi-connector-get-data.png)

    :::note
     **注意**
    ラベルに**Azure Databricks**とありますが、このコネクターはAWSのDatabricksでも動作します。
   :::

1. **Connect**をクリックします。
1. [ステップ1: SQLウェアハウス接続情報詳細の取得](#ステップ1-sqlウェアハウス接続情報詳細の取得)でコピーしたホスト名とHTTPパスを入力します。
    ![](https://docs.databricks.com/_images/power-bi-connection-config.png)
1. **OK**をクリックします。
1. 認証プロンプトにおいては、**Personal Access Token**タブを選択し、[ステップ2: パーソナルアクセストークンの取得](#ステップ2-パーソナルアクセストークンの取得)でコピーしたパーソナルアクセストークンを入力します。
1. **Connect**をクリックします。

    SQLウェアハウスが動作していない場合、SQLエンドポイントが起動しますが起動に数分を要する場合があります。
1. Power BIナビゲーターで`default.people10m`テーブルを選択します。
1. **Load**をクリックします。

### ステップ2: データの整形

ファーストネームがMaryの女性のレコードを取得し、年ごとの人数をカウントします。

1. `firstName`、`gender`、`birthDate`以外の列を削除します。
1. `firstName = Mary`と`gender = F`でデータをフィルタリングします。
1. `birthDate`の型を`Date`に変換し、年以外の構成要素を削除します。
1. 年でグルーピングし、年ごとのMaryの人数をカウントします。
    ![](https://docs.databricks.com/_images/power-bi-people.png)

### ステップ3: データの可視化

![](https://docs.databricks.com/_images/power-bi-marys-chart.png)

## Tableauオンライン

### ステップ1: TableauオンラインからDatabricks SQLへの接続設定

1. Tableauオンラインで、ワークブックを開くか新たなノートブックを作成します。
1. **Data > New Data Source**を選択します。
![](https://docs.databricks.com/_images/tableau-online-ds.png)
1. Connect to Dataダイアログで、**Connectors > Databricks**を選択します。
![](https://docs.databricks.com/_images/tableau-online-databricks.png)
1. Databricks connectionダイアログで、[ステップ1: SQLウェアハウス接続情報詳細の取得](#ステップ1-sqlウェアハウス接続情報詳細の取得)でコピーしたホスト名とHTTPパスを入力します。
![](https://docs.databricks.com/_images/tableau-online-connection-config.png)
1. [ステップ2: パーソナルアクセストークンの取得](#ステップ2-パーソナルアクセストークンの取得)で取得したユーザー名とトークンとして`token`を用いて認証を行います。
1. **Sign in**をクリックします。

    SQLウェアハウスが動作していない場合、SQLエンドポイントが起動しますが起動に数分を要する場合があります。
1. スキーマフィールドに`default`と入力し**Enter**を押します。
1. テーブルフィールドには、`people10m`と入力し**Enter**を押します。
1. キャンバスに`people10`テーブルをドラッグします。

### ステップ2: データの整形

1. `firstName`、`gender`、`birthDate`以外の列を削除します。
1. `firstName = Mary`と`gender = F`でデータをフィルタリングします。
1. `birthDate`の型を`Date`に変換し、年以外の構成要素を削除します。
1. 年でグルーピングし、年ごとのMaryの人数をカウントします。
![](https://docs.databricks.com/_images/tableau-people.png)

### ステップ3: データの可視化

![](https://docs.databricks.com/_images/tableau-marys-chart.png)

### Databricks 無料トライアル

[Databricks 無料トライアル](https://databricks.com/jp/try-databricks)