3
1

More than 1 year has passed since last update.

Azure Databricks でストレージをマウントする

Posted at

はじめに

Azure Databricks でストレージをマウントするには以下 2 つの方法が存在します。

  • ストレージ アカウントのアクセス キーを使用する方法
  • Azure Active Directory 資格情報パススルーを使用する方法

今回は両方の実装方法を説明します。

ストレージ アカウントのアクセス キーを使用したマウント

1. ストレージ アカウントの用意

Azure Data Lake Storage Gen2 (ADLS Gen2) を作成し、確認用のファイルを格納しておきます。
スクリーンショット 2022-06-10 23.08.12.png

アクセス キーを確認しておきます。
スクリーンショット 2022-06-10 23.12.46.png

2. マウント処理

Databricks コンソールにて、以下のコードを実行します。

storage_account = "<ストレージ アカウント>"
container = "<コンテナ>"
access_key = "<アクセス キー>"

dbutils.fs.mount(
  source = "wasbs://"+container+"@"+storage_account+".blob.core.windows.net",
  mount_point = "/mnt/data",
  extra_configs = {"fs.azure.account.key."+storage_account+".blob.core.windows.net": access_key}
)

display(dbutils.fs.ls("/mnt/data"))

ディレクトリ内容が表示されることを確認します。
スクリーンショット 2022-06-10 23.31.15.png

Azure Active Directory 資格情報パススルーを使用したマウント

1. ストレージ アカウントの用意

先程と同様、Azure Data Lake Storage Gen2 (ADLS Gen2) を作成し、確認用のファイルを格納しておきます。
スクリーンショット 2022-06-10 23.08.12.png

Databricks で処理を行いたいユーザに [ストレージ BLOB データ所有者] の権限を与えておきます。
スクリーンショット 2022-06-11 0.29.37.png

2. Databricks クラスターの設定

Databricks コンソールのクラスター作成画面にて、[Enable credential passthrough for user-level data access] を有効化します。
[Cluster mode] が [Standard] のため、使用できるのは 1 人のユーザに限られます。
必要に応じて [Hight Concurrency] を選択しましょう。
スクリーンショット 2022-06-10 23.50.20.png

3. マウント処理

Databricks コンソールにて、以下のコードを実行します。

storage_account = "<ストレージ アカウント>"
container = "<コンテナ>"
configs = {
  "fs.azure.account.auth.type": "CustomAccessToken",
  "fs.azure.account.custom.token.provider.class": spark.conf.get("spark.databricks.passthrough.adls.gen2.tokenProviderClassName")
}

dbutils.fs.mount(
  source = "abfss://"+container+"@"+storage_account+".dfs.core.windows.net/",
  mount_point = "/mnt/data",
  extra_configs = configs
)

display(dbutils.fs.ls("/mnt/data"))

ディレクトリ内容が表示されることを確認します。
スクリーンショット 2022-06-11 0.24.53.png

おわりに

Azure Databricks からストレージをマウントする方法について 2 種類説明しました。
ストレージ アカウントのアクセス キーは、シークレットのスコープにシークレットから取得すると安全性が増します。

参考

3
1
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
3
1