读取Databricks中的Blob存储中的数据

时间:2020-02-13 09:06:46

标签: python azure blob databricks azure-databricks

尝试从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 ,我们无法使用匿名凭证创建该凭证,并且在配置中找不到用于它们的凭证。

1 个答案:

答案 0 :(得分:2)

您可以签出以下代码,以使用Azure Databricks从blob存储中读取数据。

Promise

enter image description here

对于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()

enter image description here

希望这会有所帮助。如果您还有其他疑问,请告诉我们。