SQL Server および Azure SQL 用の Apache Spark コネクタを使用でき
ます。Databricks で行う必要があることの例は、次の Python ファイルにあります。
ご覧のとおり、サービス プリンシパルに直接接続するのではなく、サービス プリンシパルを使用して、後で接続パラメーターを指定するときに使用するアクセス トークンを生成しています。
jdbc_df = spark.read.format("com.microsoft.sqlserver.jdbc.spark") \
.option("url", url) \
.option("dbtable", db_table) \
.option("accessToken", access_token) \
.option("encrypt", "true") \
.option("databaseName", database_name) \
.option("hostNameInCertificate", "*.database.windows.net") \
.load()
ただし、以前のライブラリを使用できない、または使用したくない場合は、Spark のネイティブ Azure-SQL JDBC コネクタでも同じことができます。
jdbc_df = spark.read.format("com.microsoft.sqlserver.jdbc.SQLServerDriver")\
.option("url", url) \
.option("dbtable", db_table) \
.option("accessToken", access_token) \
.option("encrypt", "true") \
.option("databaseName", database_name) \
.option("hostNameInCertificate", "*.database.windows.net") \
.load()