我有一个数据砖块运行良好。使用以下代码,我也可以挂载“ datalake storage gen2”帐户。我正在/ mnt / data1上安装所有内容
val configs = Map("fs.azure.account.auth.type" -> "OAuth",
"fs.azure.account.oauth.provider.type" -> "org.apache.hadoop.fs.azurebfs.oauth2.ClientCredsTokenProvider",
"fs.azure.account.oauth2.client.id" -> appID,
"fs.azure.account.oauth2.client.secret" -> password,
"fs.azure.account.oauth2.client.endpoint" -> ("https://login.microsoftonline.com/" + tenantID + "/oauth2/token"),
"fs.azure.createRemoteFileSystemDuringInitialization"-> "true")
dbutils.fs.mount(
source = "abfss://" + fileSystemName + "@" + storageAccountName + ".dfs.core.windows.net/",
mountPoint = "/mnt/data1",
extraConfigs = configs)
到此为止,一切都很好并且可以正常工作。 但是,当我尝试使用以下命令从安装位置访问一个文件时
val df = spark.read.csv("/mnt/data1/creodemocontainer/movies.csv")
我遇到以下错误
java.io.FileNotFoundException: dbfs:/mnt/data1/creodemocontainer2/movies.csv
at com.databricks.backend.daemon.data.client.DatabricksFileSystemV2.$anonfun$getFileStatus$2(DatabricksFileSystemV2.scala:775)
尽管我可以在PowerBI中连接并加载这些文件,但没有任何问题。 最近两天没有任何消息,所以我们将不胜感激。
提前谢谢。
答案 0 :(得分:1)
根据原始海报的评论共享答案:
我不应该在阅读时添加容器名称。
val df = spark.read.csv("/mnt/data1/creodemocontainer/movies.csv")
已删除容器名称,因为它已在安装点中调用。现在一切都很好
val df = spark.read.csv("/mnt/data1/movies.csv")