【发布时间】:2016-07-30 00:25:26
【问题描述】:
我正在尝试从 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)
在最新版本中,我认为它应该是这样的:
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)
但无论我尝试多少不同的方式调整路径,我都会收到此错误:
IllegalArgumentException: 'java.net.URISyntaxException: Relative path in
absolute URI: file:/C:/path//to/my/file/spark-warehouse'
不确定这只是 Windows 的问题还是我遗漏了一些东西。我很高兴 spark-csv 包现在是 Spark 的一部分,开箱即用,但我似乎无法让它读取我的任何本地文件了。有什么想法吗?
【问题讨论】:
标签: windows apache-spark pyspark apache-spark-sql pyspark-sql