我正在尝试从Spark 1.6.1迁移到Spark 2.0.0,并且在尝试将csv文件读入SparkSQL时遇到了一个奇怪的错误.以前,当我在pyspark中从本地磁盘读取文件时,我会这样做:
Spark 1.6
df = sqlContext.read \
.format('com.databricks.spark.csv') \
.option('header', 'true') \
.load('file:///C:/path/to/my/file.csv', schema=mySchema)
Run Code Online (Sandbox Code Playgroud)
在最新版本中,我认为它应该是这样的:
Spark 2.0
spark = SparkSession.builder \
.master('local[*]') \
.appName('My App') \
.getOrCreate()
df = spark.read \
.format('csv') \
.option('header', 'true') \
.load('file:///C:/path/to/my/file.csv', schema=mySchema)
Run Code Online (Sandbox Code Playgroud)
但无论我尝试调整路径的方式有多少,我都会收到此错误:
IllegalArgumentException: 'java.net.URISyntaxException: Relative path in
absolute URI: file:/C:/path//to/my/file/spark-warehouse'
Run Code Online (Sandbox Code Playgroud)
不确定这只是Windows的一个问题,还是我缺少的东西.我很高兴spark-csv软件包现在已成为Spark的一部分开箱即用,但我似乎无法再阅读任何本地文件了.有任何想法吗?