Scala 写拼花地板时的NullPointerException

Scala 写拼花地板时的NullPointerException,scala,apache-spark,parquet,Scala,Apache Spark,Parquet,我试图测量在AmazonS3中(在特定分区下)读写拼花地板文件需要多长时间 为此,我编写了一个脚本,只需读取文件,然后将其写回: val df = sqlContext.read.parquet(path + "p1.parquet/partitionBy=partition1") df.write.mode("overwrite").parquet(path + "p1.parquet/partitionBy=partition1") 但是,我得到一个空指针异常。我试图在两者之间添加df.c

我试图测量在AmazonS3中(在特定分区下)读写拼花地板文件需要多长时间 为此,我编写了一个脚本,只需读取文件,然后将其写回:

val df = sqlContext.read.parquet(path + "p1.parquet/partitionBy=partition1")
df.write.mode("overwrite").parquet(path + "p1.parquet/partitionBy=partition1")

但是,我得到一个空指针异常。我试图在两者之间添加
df.count
,但得到了相同的错误

错误的原因是Spark仅在使用数据时读取数据。这会导致Spark在试图覆盖文件的同时从文件中读取数据。这会导致问题,因为读取时无法覆盖数据


我建议保存到临时位置,因为这是为了计时。另一种方法是在读取数据时对数据使用
.cache()
,执行强制读取(以及实际缓存数据)的操作,然后覆盖文件。

请添加异常文本好吗?