[使用Databricks中的Spark API连接到ADLS

问题描述 投票:0回答:1

我正在尝试使用Spark API建立与ADLS的连接。我真的很陌生。我阅读了说明可以使用以下代码建立连接的文档:

spark.conf.set("fs.adl.oauth2.access.token.provider.type", "ClientCredential")
spark.conf.set("fs.adl.oauth2.client.id", "<application-id>")
spark.conf.set("fs.adl.oauth2.credential", dbutils.secrets.get(scope = "<scope-name>", key = "<key-name-for-service-credential>"))
spark.conf.set("fs.adl.oauth2.refresh.url", "https://login.microsoftonline.com/<directory-id>/oauth2/token")

我可以在Azure门户/ Azure存储资源管理器中看到我对所需的ADLS文件夹具有读/写/执行权限,但是我不知道在哪里可以找到application-idscope-name和[C0 ]。预先感谢。

pyspark databricks azure-data-lake azure-databricks
1个回答
0
投票

有两种访问Azure Data Lake Storage Gen1的方法:

  1. 使用以下命令将Azure Data Lake Storage Gen1文件系统安装到DBFS服务主体和OAuth 2.0。
  2. 直接使用服务主体。

先决条件:

您需要创建并授予服务主体权限。

key-name-for-service-credential

请注意以下属性:

application-id:唯一标识客户端应用程序的ID。

directory-id:唯一标识Azure AD实例的ID。

service-credential:应用程序用来证明其身份的字符串。

注册服务主体,在Azure Data Lake Storage Gen1帐户上授予正确的Create an Azure AD application and service principal that can access resources,例如贡献者。

Method1:装载Azure Data Lake Storage Gen1资源或文件夹

role assignment

Method2:使用服务主体和OAuth 2.0通过Spark API直接访问

enter image description here

方法3:使用服务主体直接使用Spark API进行访问,并使用带有dbutils.secrets.get(scope =“”,key =“”)的OAuth 2.0检索已存储为秘密范围内的秘密的存储帐户访问密钥。

enter image description here

参考: enter image description here

希望这会有所帮助。如果您还有其他疑问,请告诉我们。


请在有助于您的帖子上单击“ 标记为答案”和Upvote,这可能对其他社区成员有所帮助。

© www.soinside.com 2019 - 2024. All rights reserved.