尝试从DataBricks读取Blob存储中的数据
spark.conf.set(
"fs.azure.account.key.ACCOUNTNAME.blob.core.windows.net",
"MYKEY")
这应该允许连接到我的存储Blob
然后,根据documentation,访问我的Blob文件应该很容易。
我尝试了很多事情,没有任何作用
一个例子
blob_url = "https://ACCOUNTNAME.blob.core.windows.net/BLOBNAME/PATH/file"
df=pd.read_csv(blob_url)
返回
HTTP错误404:指定的资源不存在。
有什么主意吗?如果需要,我可以显示所有尝试并显示错误消息
另一个错误
%scala
dbutils.fs.ls("wasbs://ACCOUNTNAME@BLOBNAME.blob.core.windows.net/PATH")
shaded.databricks.org.apache.hadoop.fs.azure.AzureException:shaded.databricks.org.apache.hadoop.fs.azure.AzureException:找不到帐户ACCOUNTNAME.blob.core.windows.net中的容器BLOBNAME ,我们无法使用匿名凭证创建该凭证,并且在配置中找不到用于它们的凭证。
答案 0 :(得分:2)
您可以签出以下代码,以使用Azure Databricks从blob存储中读取数据。
Promise
对于dbutils.fs.ls,无需使用%scala之类的魔术单元,您可以使用以下代码在容器中生成所有文件:
# Set up an account access key:
# Get Storage account Name and
spark.conf.set("fs.azure.account.key.chepra.blob.core.windows.net", "gv7nVISerl8wbK9mPGm8TC3CQIEjV3Z5dQxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxldlOiA==")
df = spark.read.csv("wasbs://sampledata@chepra.blob.core.windows.net/Azure/AzureCostAnalysis.csv", header="true")
df.show()
希望这会有所帮助。如果您还有其他疑问,请告诉我们。