在 Databricks 中使用 Spark API 连接到 ADLS
Connect to ADLS with Spark API in Databricks
我正在尝试使用 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 文件夹具有 Read/Write/Execute 权限,但我不知道在哪里可以找到 application-id
、scope-name
, 和 key-name-for-service-credential
.
有两种访问 Azure Data Lake Storage Gen1 的方法:
- 使用
服务主体和 OAuth 2.0。
- 直接使用服务主体。
先决条件:
您需要创建并授予服务主体权限。
Create an Azure AD application and service principal that can access resources。
注意以下属性:
application-id: 唯一标识客户端应用程序的 ID。
directory-id: 唯一标识 Azure AD 实例的 ID。
service-credential:应用程序用来证明其身份的字符串。
注册服务主体,在 Azure Data Lake Storage Gen1 帐户上授予正确的role assignment,例如贡献者。
方法 1: 装载 Azure Data Lake Storage Gen1 资源或文件夹
方法 2: 使用服务主体和 OAuth 2.0 直接通过 Spark API 访问
方法 3:使用服务主体和 OAuth 2.0 使用 dbutils.secrets.get(scope = "", key = "") 直接通过 Spark API 访问,检索已作为秘密存储在中的存储帐户访问密钥一个秘密范围。
我正在尝试使用 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 文件夹具有 Read/Write/Execute 权限,但我不知道在哪里可以找到 application-id
、scope-name
, 和 key-name-for-service-credential
.
有两种访问 Azure Data Lake Storage Gen1 的方法:
- 使用 服务主体和 OAuth 2.0。
- 直接使用服务主体。
先决条件:
您需要创建并授予服务主体权限。
Create an Azure AD application and service principal that can access resources。
注意以下属性:
application-id: 唯一标识客户端应用程序的 ID。
directory-id: 唯一标识 Azure AD 实例的 ID。
service-credential:应用程序用来证明其身份的字符串。
注册服务主体,在 Azure Data Lake Storage Gen1 帐户上授予正确的role assignment,例如贡献者。
方法 1: 装载 Azure Data Lake Storage Gen1 资源或文件夹
方法 2: 使用服务主体和 OAuth 2.0 直接通过 Spark API 访问
方法 3:使用服务主体和 OAuth 2.0 使用 dbutils.secrets.get(scope = "", key = "") 直接通过 Spark API 访问,检索已作为秘密存储在中的存储帐户访问密钥一个秘密范围。