Spark からADLS2 にアクセスする

 
Spark から Azure Data Lake Storage Gen2 のファイルを開きたかったのでメモ

Pyspark 実行時に依存ライブラリを指定すればインストールしてくれる。
使ってる Spark/Hadoop のバージョンに合わせて下記を実行。

pyspark --packages org.apache.hadoop:hadoop-azure:3.3.4

必要な jar ファイルのダウンロードが始まるのでしばらく待ったら使える。

で、コードを実行

from pyspark.sql import SparkSession

spark = SparkSession.builder.appName("ReadFromADLS2") \
    .config("fs.azure.account.auth.type.{STORAGE-ACCOUNT}.dfs.core.windows.net", "SharedKey") \
    .config("fs.azure.account.key.{STORAGE-ACCOUNT}.dfs.core.windows.net", "{STORAGE-ACCOUNT-ACCESS-KEY}") \
    .getOrCreate()

df = spark.read.csv("abfss://{CONTAINER}@{STORAGE-ACCOUNT}.dfs.core.windows.net/orders.csv")
df.show()

上記の {STORAGE-ACCOUNT}, {STORAGE-ACCOUNT-ACCESS-KEY}, {CONTAINER} の箇所は書き換える。