读取 csv 文件时 MS Databricks Spark 中绝对 URI 中的相对路径

Posted

技术标签:

【中文标题】读取 csv 文件时 MS Databricks Spark 中绝对 URI 中的相对路径【英文标题】:Relative path in absolute URI in MS Databricks Spark when reading csv file 【发布时间】:2021-07-06 15:31:16 【问题描述】:

我是 Pyspark 的新手,正在尝试使用 Databricks 中的数据库。

我尝试使用以下语法从本地计算机读取 csv 文件:

df = spark.read.format("csv").option("header", True).load("C:\\Users\\***\\Desktop\\MasterFile_v0.csv")

并收到此错误消息:java.net.URISyntaxException: Relative path in absolute URI: C:%5CUsers%5C****.10%5CDesktop%5CMasterFile_v0.csv

只是想知道如何解决这个问题。

另外,我使用 Pandas 读取 csv 但需要安装 xlrd,我在 databricks 中使用了%pip install xlrd,但似乎我没有这样做的凭据。

如果对我阅读本地文件有任何建议,那就太好了。谢谢! C

【问题讨论】:

【参考方案1】:

您无法从 Databricks 访问计算机上的文件 - 它在云中运行,集群无法访问您的本地磁盘。

您需要将文件上传到 Databricks 文件系统。有多种方法可以做到这一点(在docs 中列出):

    使用Upload Data UI 使用Databricks CLI(可能不适用于社区版) 将文件放到云存储(Azure 数据湖、AWS S3 等)上,并从 Spark 访问它

【讨论】:

以上是关于读取 csv 文件时 MS Databricks Spark 中绝对 URI 中的相对路径的主要内容,如果未能解决你的问题,请参考以下文章

Azure databricks - 无法使用来自 datalake 存储 gen2 服务的 spark 作业读取 .csv 文件

使用 spark-csv 在 zeppelin 中读取 csv 文件

在 ADLS2 中合并通过 DataBricks 准备的 CSV 文件

Apache Spark 读取 UTF-16 CSV 文件

Spark 2.0 CSV 错误

在 pyspark 中以 csv 格式读取 excel 文件