繁体   English   中英

在 Databricks 上使用 Pyspark 访问 Azure ADLS gen2

[英]Accessing Azure ADLS gen2 with Pyspark on Databricks

我正在尝试学习 Spark、Databricks 和 Azure。

我正在尝试使用 Pyspark 从 Databricks 访问 GEN2。我找不到合适的方法,我相信它非常简单,但我失败了。

目前每次我收到以下信息:

Unable to access container {name} in account {name} using anonymous
credentials, and no credentials found for them in the configuration.

我已经在运行 GEN2 + 我有一个 SAS_URI 可以访问。

到目前为止我正在尝试什么:(基于此链接: https://learn.microsoft.com/pl-pl/azure/databricks/data/data-sources/azure/adls-gen2/azure-datalake-gen2-sas -访问):

spark.conf.set(f"fs.azure.account.auth.type.{STORAGE_ACCOUNT_NAME}.dfs.core.windows.net", {SAS_URI})
spark.conf.set(f"fs.azure.sas.token.provider.type.{STORAGE_ACCOUNT_NAME}.dfs.core.windows.net", {SAS_URI})

然后接触数据:

sd_xxx = spark.read.parquet(f"wasbs://{CONTAINER_NAME}@{STORAGE_ACCOUNT_NAME}.dfs.core.windows.net/{proper_path_to_files/}")

您的配置不正确。 第一个参数应设置为仅SAS值,而第二个参数 - 将返回 SAS 令牌的 Scala/Java 名称 class - 你不能只使用带有 SAS 信息的 URI,你需要实现一些自定义代码。

如果你想使用访问 Azure Blog Storage 的wasbs协议,虽然它可以用于访问 ADLS Gen2(虽然不推荐),但你需要使用blob.core.windows.net而不是dfs.core.windows.net ,并为 Azure Blob 访问设置正确的 spark 属性

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM