gpt4 book ai didi

azure - 如何使用scala并从Azure blob存储读取文件?

转载 作者:行者123 更新时间:2023-12-03 06:41:50 24 4
gpt4 key购买 nike

我正在尝试使用下面的 Scala 代码从 Azure blob 存储读取 csv 文件。

val containerName = "azsqlshackcontainer"
val storageAccountName = "cloudshell162958911"
val sas = "?sv=2021-06-08&ss=bfqt&srt=sco&sp=rwdlacupiyx&se=2022-11-16T17:11:59Z&st=2022-11-16T09:11:59Z&spr=https&sig=ZAy5PeZu5jbICr5B%2BFTLLn6C5TMBxrU5WmbLCRfzNu8%3D"
val config = "fs.azure.sas." + containerName+ "." + storageAccountName + ".blob.core.windows.net"

dbutils.fs.mount(
source = "wasbs://<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="88e9f2fbf9e4fbe0e9ebe3ebe7e6fce9e1e6edfac8ebe4e7fdecfbe0ede4e4b9bebab1bdb0b1b9b9a6eae4e7eaa6ebe7faeda6ffe1e6ece7fffba6e6edfc" rel="noreferrer noopener nofollow">[email protected]</a>/FoodSales.csv",
mountPoint = "/mnt/myfile",
extraConfigs = Map(config -> sas))

当我运行此代码时,出现以下错误。

enter image description here

容器名称、存储帐户名称和文件名正确。

enter image description here

我复制了此处给出的步骤:https://www.sqlshack.com/accessing-azure-blob-storage-from-azure-databricks/

我不确定我错过了什么。我可以使用 Python 完成此操作,但 scala 代码无法正常工作

enter image description here

最佳答案

使用访问 key 尝试这种替代方法,我尝试在我的环境中重现它,并得到以下结果:

dbutils.fs.mount(
source = "wasbs://<container>@<storage_account_name>.blob.core.windows.net/",
mountPoint = "/mnt/<mount_name>",
extraConfigs = Map("fs.azure.account.key.<<Your_storage_account_name>>.blob.core.windows.net" -> "<< Access_key>>"))

enter image description here

现在,您可以检查一下。我可以通过安装路径读取 CSV 数据。

%scala

val df1 = spark.read.format("csv").option("inferSchema", "true").option("Header","true").load("/mnt/dsff")
display(df1)

enter image description here

关于azure - 如何使用scala并从Azure blob存储读取文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74458225/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com