はじめに
今年の下半期に東京リージョンでもDatabrikcs上でサーバレスSQLが利用できるようになりました。
従来のSQLウェアハウスに比べて管理や起動速度の面でメリットが非常に多いと感じています。
業務の中ではPowerBIと接続するパターンが多いのでこちらについてご共有します。
利用サンプルデータの作成
サンプルデータを作成します。今回は昨日行われた某コンテストのデータを可視化してみます。
#データフレームを作成
df_m = spark.createDataFrame([
(90, 94, 94, 93, 94, 91, 92),
(88, 91, 92, 90, 91, 88, 87),
(89, 94, 96, 93, 95, 94, 98),
(88, 92, 95, 89, 88, 89, 94),
(91, 92, 92, 92, 96, 90, 92),
(93, 93, 96, 93, 97, 91, 93),
(92, 91, 91, 91, 93, 95, 90),
(87, 89, 90, 91, 92, 89, 93),
(86, 90, 89, 90, 89, 87, 89),
(91, 91, 93, 91, 90, 89, 87)
], ["HM", "RN", "TU", "NH", "TT", "DH", "KY"])
#テーブルとして保存
df_m.write.format('delta').saveAsTable("dataframe_M")
サーバレスSQLの作成
以下の画像のように設定していきます。
1.エンドポイントの名前について設定します。
2.クラスターサイズを設定します。クォータ制限等によっては大きいサイズのものが選択不可になっている場合があります。ここではSサイズを選択します。
3.自動停止時間を選択します。サーバレスSQLは起動時間が数十秒なので、こまめに自動停止する方がコストも抑えられて良いかと思います。
4.スケーリングを選択します。
5.タイプを選択します。ここではサーバレスを選択します。
上記を埋めたら作成を選択します。
利用するSQLウェアハウスを選択し、接続の詳細から情報を取得します。こちらについてはのちほど使います。
Power BIとの接続
ではサーバレスSQLを用いてデータを取得していきます。
PowerBIデスクトップを開き、データの取得を選択します。
[Azure]→[Azure Databricks]を選択します。
選択するとAzure Databricksへの接続情報を入力することになるので、先程取得した[サーバーのホスト名]と[HTTPパス]を入力します。
接続ができたら、ナビゲーター画面より利用するテーブルを選択し、読み込みを選択します。
読み込めたので、PowerQueryを使って標準偏差を出してみます。
これを見ると非常にKYさんは点数のばらつきが多いことや、NHさんは点数に差をつけられなかったことがわかります。
最後に
またナレッジコミュニケーションではMusubiteというエンジニア同士のカジュアルトークサービスを利用しています!この記事にあるような生成 AI 技術を使ったプロジェクトに携わるメンバーと直接話せるサービスですので興味がある方は是非利用を検討してください!