当前位置: 首页 > 知识库问答 >
问题:

使用Databricks上的Pysark访问Azure ADLS gen2

缪志新
2023-03-14

我在努力学习火花,数据库

我正在尝试使用Pyspark从数据砖访问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-access):

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/}")

共有2个答案

鲁鹏
2023-03-14

要遵循的更常见过程如下:使用 OAuth 2.0 和 Azure 服务主体访问 Azure 数据湖存储 Gen2

濮阳唯
2023-03-14

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

如果你想使用<code>wasbs</code>这是访问Azure博客存储的协议,尽管它可以用于访问ADLS Gen2(虽然不推荐),但你需要使用<code>blob.core.windows。net</code>而不是<code>dfs.core.windows。net,并为Azure Blob访问设置正确的spark属性。

 类似资料:
  • 在我们这家小公司的团队中,我遇到了一些挫折,围绕着使用Azure Databricks中将Azure Databricks作为我们的增量表的后端(我是这家公司和Databricks的新手,所以我可能解释的任何事情都是在我之前决定的,我意识到其中一些可能是有问题的, 但不是寻找对此的看法)。 本质上,工程团队正在构建数据摄取管道(作为python文件,而不是笔记本),这些管道在Azure Datab

  • 亲爱的,我已经部署了如下示例服务: 当我执行get nodes-o wide时,如下所示, 任何帮助。谢了。

  • 我目前正在使用火花从数据库笔记本访问deltalake表。但是现在我需要从MLflow项目访问delta表。MLflow火花api只允许记录和加载SparkML模型。知道如何实现吗? 目前,我正在尝试通过MLflow项目中的此代码访问火花: 但是我得到这个错误:

  • 本文向大家介绍使用genymotion访问本地上Tomcat上数据的方法,包括了使用genymotion访问本地上Tomcat上数据的方法的使用技巧和注意事项,需要的朋友参考一下 1、首先 当然是启动genymotion 2、然后Tomcat ,启动tomcat。。如图 将请求的URL地址变为10.0.3.2 ,比如在电脑上访问的是http://localhost:8080/ 那么在genymot

  • 问题内容: 我正在寻找一种在Java App(使用JDBC)中打开Access MDB文件的方法。 快速的Google搜索建议我为此需要JDBC-ODBC Bridge。 这是否意味着我需要配置要在其上运行应用程序的每个系统,以便为要打开的MDB提供ODBC DSN? 还有一个问题(因为我以前从未使用过ODBC):通信是通过某种套接字(以客户机/服务器方式)还是通过方法/函数调用(例如嵌入Derb

  • 我使用React js创建了一个站点,并对Nginx进行了一些更改,以将路由重写为文件,这样就不会出现404错误。最近,如果我使用location/{try_files$uri$uri//index.html;}为单页应用程序购买配置Nginx,我尝试使用express on当我尝试访问/api时,我将从我的应用程序中获取notFound页面,如果我不配置它,我可以访问我的express服务器,但