无法使用datalake storage gen2服务中的spark作业读取.csv文件

yqkkidmi  于 2021-05-18  发布在  Spark
关注(0)|答案(1)|浏览(592)

我有一个databricks clister运行良好。使用下面的代码,我也可以挂载我的“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中连接并加载这些文件,但没有任何问题。我没有得到任何线索从过去两天,所以任何帮助将非常感谢。
提前谢谢。

voase2hg

voase2hg1#

根据原海报的评论分享答案:
我不应该在阅读时添加容器名称。

val df = spark.read.csv("/mnt/data1/creodemocontainer/movies.csv")

已删除容器名称,因为它已在装入点中调用。现在一切正常

val df = spark.read.csv("/mnt/data1/movies.csv")

相关问题