Python 火花查询拼花地板文件-错误回溯说文件丢失。。。但是文件在那里。为什么?

Python 火花查询拼花地板文件-错误回溯说文件丢失。。。但是文件在那里。为什么?,python,apache-spark,apache-spark-sql,parquet,spark-dataframe,Python,Apache Spark,Apache Spark Sql,Parquet,Spark Dataframe,我使用拼花文件使用Python将数据持久化到Spark数据框中 拼花地板似乎保存正确,但当它再次加载到数据帧中时,df.show()将生成一个错误,回溯表明拼花地板目录中缺少一个文件 奇怪的是,一个ls命令在收到错误后立即显示文件在那里 对可能发生的事情有什么想法吗 ipynb的相关部分包含在以下纯文本中: [12]中的 #将此DF持久化为拼花文件 确认信号DF.SAVEASPAQUETFILE(“修正的Dopperler.parquet”) 在[13]中: #ls显示拼花地板目录和所有数据文

我使用拼花文件使用Python将数据持久化到Spark数据框中

拼花地板似乎保存正确,但当它再次加载到数据帧中时,df.show()将生成一个错误,回溯表明拼花地板目录中缺少一个文件

奇怪的是,一个ls命令在收到错误后立即显示文件在那里

对可能发生的事情有什么想法吗

ipynb的相关部分包含在以下纯文本中:


[12]中的

#将此DF持久化为拼花文件
确认信号DF.SAVEASPAQUETFILE(“修正的Dopperler.parquet”)
在[13]中:
#ls显示拼花地板目录和所有数据文件已正确创建
ls-l修正的多普勒拼花地板
总数932
-rw-r--r--1 s26e-5a5fbda111ac17-5edfd8a0d95d用户0 10月5日18:22成功
-rw-r--r--1 s26e-5a5fbda111ac17-5edfd8a0d95d用户1118 10月5日18:22(通用)
-rw-r--r--1 s26e-5a5fbda111ac17-5edfd8a0d95d用户41992 10月5日18:22
-rw-r--r--1 s26e-5a5fbda111ac17-5edfd8a0d95d用户36268 10月5日18:20第r-00001部分:镶木地板
-rw-r--r--1 s26e-5a5fbda111ac17-5edfd8a0d95d用户36631 10月5日18:20第r-00002部分:镶木地板
-rw-r--r--1 s26e-5a5fbda111ac17-5edfd8a0d95d用户34087 10月5日18:20 part-r-00003.镶木地板
-rw-r--r--1 s26e-5a5fbda111ac17-5edfd8a0d95d用户20103年10月5日18:20 part-r-00004.镶木地板
-rw-r--r--1 s26e-5a5fbda111ac17-5edfd8a0d95d用户22344 10月5日18:20第r-00005部分:镶木地板
-rw-r--r--1 s26e-5a5fbda111ac17-5edfd8a0d95d用户13438 10月5日18:20第r-00006部分:镶木地板
-rw-r--r--1 s26e-5a5fbda111ac17-5edfd8a0d95d用户14898 10月5日18:20第r-00007部分:镶木地板
-rw-r--r--1 s26e-5a5fbda111ac17-5edfd8a0d95d用户20501年10月5日18:20 part-r-00008.镶木地板
-rw-r--r--1 s26e-5a5fbda111ac17-5edfd8a0d95d用户21550 10月5日18:20第r-00009部分:镶木地板
-rw-r--r--1 s26e-5a5fbda111ac17-5edfd8a0d95d用户24827 10月5日18:20第r-00010部分:镶木地板
-rw-r--r--1 s26e-5a5fbda111ac17-5edfd8a0d95d用户18216年10月5日18:20第r-00011部分:镶木地板
-rw-r--r--1 s26e-5a5fbda111ac17-5edfd8a0d95d用户19561年10月5日18:20第r-00012部分:镶木地板
-rw-r--r--1 s26e-5a5fbda111ac17-5edfd8a0d95d用户22652 10月5日18:20第r-00013部分:镶木地板
-rw-r--r--1 s26e-5a5fbda111ac17-5edfd8a0d95d用户6134 10月5日18:20第r-00014部分:镶木地板
-rw-r--r--1 s26e-5a5fbda111ac17-5edfd8a0d95d用户4275 10月5日18:18第r-00015部分:镶木地板
-rw-r--r--1 s26e-5a5fbda111ac17-5edfd8a0d95d用户7383 10月5日18:19第r-00016部分:镶木地板
-rw-r--r--1 s26e-5a5fbda111ac17-5edfd8a0d95d用户5188 10月5日18:19第r-00017部分:镶木地板
-rw-r--r--1 s26e-5a5fbda111ac17-5edfd8a0d95d用户26420 10月5日18:20第r-00018部分:镶木地板
-rw-r--r--1 s26e-5a5fbda111ac17-5edfd8a0d95d用户22254 10月5日18:20第r-00019部分:镶木地板
-rw-r--r--1 s26e-5a5fbda111ac17-5edfd8a0d95d用户28356 10月5日18:20第r-00020部分:镶木地板
-rw-r--r--1 s26e-5a5fbda111ac17-5edfd8a0d95d用户15422 10月5日18:20 part-r-00021.镶木地板
-rw-r--r--1 s26e-5a5fbda111ac17-5edfd8a0d95d用户17046 10月5日18:20第r-00022部分:镶木地板
-rw-r--r--1 s26e-5a5fbda111ac17-5edfd8a0d95d用户19774年10月5日18:20第r-00023部分:镶木地板
-rw-r--r--1 s26e-5a5fbda111ac17-5edfd8a0d95d用户28917 10月5日18:20第r-00024部分:镶木地板
-rw-r--r--1 s26e-5a5fbda111ac17-5edfd8a0d95d用户24184 10月5日18:20第r-00025部分:镶木地板
-rw-r--r--1 s26e-5a5fbda111ac17-5edfd8a0d95d用户21649 10月5日18:20第r-00026部分:镶木地板
-rw-r--r--1 s26e-5a5fbda111ac17-5edfd8a0d95d用户22093年10月5日18:20第r-00027部分:镶木地板
-rw-r--r--1 s26e-5a5fbda111ac17-5edfd8a0d95d用户19092年10月5日18:20第r-00028部分:镶木地板
-rw-r--r--1 s26e-5a5fbda111ac17-5edfd8a0d95d用户16031 10月5日18:20第r-00029部分:镶木地板
-rw-r--r--1 s26e-5a5fbda111ac17-5edfd8a0d95d用户10181 10月5日18:20第r-00030部分:镶木地板
-rw-r--r--1 s26e-5a5fbda111ac17-5edfd8a0d95d用户8465 10月5日18:20第r-00031部分:镶木地板
-rw-r--r--1 s26e-5a5fbda111ac17-5edfd8a0d95d用户10999 10月5日18:20第r-00032部分:镶木地板
-rw-r--r--1 s26e-5a5fbda111ac17-5edfd8a0d95d用户11059 10月5日18:20 part-r-00033.镶木地板
-rw-r--r--1 s26e-5a5fbda111ac17-5edfd8a0d95d用户21826 10月5日18:20第r-00034部分:镶木地板
-rw-r--r--1 s26e-5a5fbda111ac17-5edfd8a0d95d用户21474 10月5日18:20第r-00035部分:镶木地板
-rw-r--r--1 s26e-5a5fbda111ac17-5edfd8a0d95d用户28181 10月5日18:20第r-00036部分:镶木地板
-rw-r--r--1 s26e-5a5fbda111ac17-5edfd8a0d95d用户30956 10月5日18:20第r-00037部分:镶木地板
-rw-r--r--1 s26e-5a5fbda111ac17-5edfd8a0d95d用户40088 10月5日18:20第r-00038部分:镶木地板
-rw-r--r--1 s26e-5a5fbda111ac17-5edfd8a0d95d用户23564 10月5日18:20第r-00039部分:镶木地板
-rw-r--r--1 s26e-5a5fbda111ac17-5edfd8a0d95d用户24405 10月5日18:20第r-00040部分:镶木地板
-rw-r--r--1 s26e-5a5fbda111ac17-5edfd8a0d95d用户4740 10月5日18:20第r-01021部分:镶木地板\
在[14]中:
#加载刚刚保存的拼花地板文件,然后计数/显示DF
confirmedSignalsDF=sqlContext.parquetFile(“correctedDoppler.parquet”)
确认信号DF.count
确认信号显示(10)
#这将导致跟踪错误,指出其中一个数据文件不存在。。。
#但是错误下方单元格中的ls命令显示该文件确实存在
---------------------------------------------------------------------------
Py4JJavaError回溯(最近一次调用)
在()
2 confirmedSignalsDF=sqlContext.parquetFile(“correctedDoppler.parquet”)
3确认信号DF.count
---->4确认信号显示(10)
/show(self,n)中的usr/local/src/spark/python/pyspark/sql/dataframe.py
2715鲍勃
272         """
-->273打印self.\u jdf.showString(n).encode('utf8','ignore')
274
275定义报告(自我):
/usr/local/src/spark/python/lib/py4j-0.8.2.1-src.zip/py4j/java_gateway.py in __调用(self,*args)
536 answer=self.gateway\u client.send\u命令(command)
537返回
In [12]:

#persist this DF as a Parquet File
confirmedSignalsDF.saveAsParquetFile("correctedDoppler.parquet")

In [13]:


# ls shows that the parquet directory and all data files have been properly created
ls -l correctedDoppler.parquet

total 932
-rw-r--r-- 1 s26e-5a5fbda111ac17-5edfd8a0d95d users     0 Oct  5 18:22 _SUCCESS
-rw-r--r-- 1 s26e-5a5fbda111ac17-5edfd8a0d95d users  1118 Oct  5 18:22 _common_metadata
-rw-r--r-- 1 s26e-5a5fbda111ac17-5edfd8a0d95d users 41992 Oct  5 18:22 _metadata
-rw-r--r-- 1 s26e-5a5fbda111ac17-5edfd8a0d95d users 36268 Oct  5 18:20 part-r-00001.parquet
-rw-r--r-- 1 s26e-5a5fbda111ac17-5edfd8a0d95d users 36631 Oct  5 18:20 part-r-00002.parquet
-rw-r--r-- 1 s26e-5a5fbda111ac17-5edfd8a0d95d users 34087 Oct  5 18:20 part-r-00003.parquet
-rw-r--r-- 1 s26e-5a5fbda111ac17-5edfd8a0d95d users 20103 Oct  5 18:20 part-r-00004.parquet
-rw-r--r-- 1 s26e-5a5fbda111ac17-5edfd8a0d95d users 22344 Oct  5 18:20 part-r-00005.parquet
-rw-r--r-- 1 s26e-5a5fbda111ac17-5edfd8a0d95d users 13438 Oct  5 18:20 part-r-00006.parquet
-rw-r--r-- 1 s26e-5a5fbda111ac17-5edfd8a0d95d users 14898 Oct  5 18:20 part-r-00007.parquet
-rw-r--r-- 1 s26e-5a5fbda111ac17-5edfd8a0d95d users 20501 Oct  5 18:20 part-r-00008.parquet
-rw-r--r-- 1 s26e-5a5fbda111ac17-5edfd8a0d95d users 21550 Oct  5 18:20 part-r-00009.parquet
-rw-r--r-- 1 s26e-5a5fbda111ac17-5edfd8a0d95d users 24827 Oct  5 18:20 part-r-00010.parquet
-rw-r--r-- 1 s26e-5a5fbda111ac17-5edfd8a0d95d users 18216 Oct  5 18:20 part-r-00011.parquet
-rw-r--r-- 1 s26e-5a5fbda111ac17-5edfd8a0d95d users 19561 Oct  5 18:20 part-r-00012.parquet
-rw-r--r-- 1 s26e-5a5fbda111ac17-5edfd8a0d95d users 22652 Oct  5 18:20 part-r-00013.parquet
-rw-r--r-- 1 s26e-5a5fbda111ac17-5edfd8a0d95d users  6134 Oct  5 18:20 part-r-00014.parquet
-rw-r--r-- 1 s26e-5a5fbda111ac17-5edfd8a0d95d users  4275 Oct  5 18:18 part-r-00015.parquet
-rw-r--r-- 1 s26e-5a5fbda111ac17-5edfd8a0d95d users  7383 Oct  5 18:19 part-r-00016.parquet
-rw-r--r-- 1 s26e-5a5fbda111ac17-5edfd8a0d95d users  5188 Oct  5 18:19 part-r-00017.parquet
-rw-r--r-- 1 s26e-5a5fbda111ac17-5edfd8a0d95d users 26420 Oct  5 18:20 part-r-00018.parquet
-rw-r--r-- 1 s26e-5a5fbda111ac17-5edfd8a0d95d users 22254 Oct  5 18:20 part-r-00019.parquet
-rw-r--r-- 1 s26e-5a5fbda111ac17-5edfd8a0d95d users 28356 Oct  5 18:20 part-r-00020.parquet
-rw-r--r-- 1 s26e-5a5fbda111ac17-5edfd8a0d95d users 15422 Oct  5 18:20 part-r-00021.parquet
-rw-r--r-- 1 s26e-5a5fbda111ac17-5edfd8a0d95d users 17046 Oct  5 18:20 part-r-00022.parquet
-rw-r--r-- 1 s26e-5a5fbda111ac17-5edfd8a0d95d users 19774 Oct  5 18:20 part-r-00023.parquet
-rw-r--r-- 1 s26e-5a5fbda111ac17-5edfd8a0d95d users 28917 Oct  5 18:20 part-r-00024.parquet
-rw-r--r-- 1 s26e-5a5fbda111ac17-5edfd8a0d95d users 24184 Oct  5 18:20 part-r-00025.parquet
-rw-r--r-- 1 s26e-5a5fbda111ac17-5edfd8a0d95d users 21649 Oct  5 18:20 part-r-00026.parquet
-rw-r--r-- 1 s26e-5a5fbda111ac17-5edfd8a0d95d users 22093 Oct  5 18:20 part-r-00027.parquet
-rw-r--r-- 1 s26e-5a5fbda111ac17-5edfd8a0d95d users 19092 Oct  5 18:20 part-r-00028.parquet
-rw-r--r-- 1 s26e-5a5fbda111ac17-5edfd8a0d95d users 16031 Oct  5 18:20 part-r-00029.parquet
-rw-r--r-- 1 s26e-5a5fbda111ac17-5edfd8a0d95d users 10181 Oct  5 18:20 part-r-00030.parquet
-rw-r--r-- 1 s26e-5a5fbda111ac17-5edfd8a0d95d users  8465 Oct  5 18:20 part-r-00031.parquet
-rw-r--r-- 1 s26e-5a5fbda111ac17-5edfd8a0d95d users 10999 Oct  5 18:20 part-r-00032.parquet
-rw-r--r-- 1 s26e-5a5fbda111ac17-5edfd8a0d95d users 11059 Oct  5 18:20 part-r-00033.parquet
-rw-r--r-- 1 s26e-5a5fbda111ac17-5edfd8a0d95d users 21826 Oct  5 18:20 part-r-00034.parquet
-rw-r--r-- 1 s26e-5a5fbda111ac17-5edfd8a0d95d users 21474 Oct  5 18:20 part-r-00035.parquet
-rw-r--r-- 1 s26e-5a5fbda111ac17-5edfd8a0d95d users 28181 Oct  5 18:20 part-r-00036.parquet
-rw-r--r-- 1 s26e-5a5fbda111ac17-5edfd8a0d95d users 30956 Oct  5 18:20 part-r-00037.parquet
-rw-r--r-- 1 s26e-5a5fbda111ac17-5edfd8a0d95d users 40088 Oct  5 18:20 part-r-00038.parquet
-rw-r--r-- 1 s26e-5a5fbda111ac17-5edfd8a0d95d users 23564 Oct  5 18:20 part-r-00039.parquet
-rw-r--r-- 1 s26e-5a5fbda111ac17-5edfd8a0d95d users 24405 Oct  5 18:20 part-r-00040.parquet
-rw-r--r-- 1 s26e-5a5fbda111ac17-5edfd8a0d95d users  4740 Oct  5 18:20 part-r-01021.parquet\

In [14]:


# Load parquet file just saved and then count/show the DF
confirmedSignalsDF = sqlContext.parquetFile("correctedDoppler.parquet")
confirmedSignalsDF.count
confirmedSignalsDF.show(10)
# This will result in a tracebock error saying that one of the data files does not exist...
# But the ls command in the cell immediately below the error shows that this file does exist

---------------------------------------------------------------------------
Py4JJavaError                             Traceback (most recent call last)
<ipython-input-14-6594c02048b7> in <module>()
      2 confirmedSignalsDF = sqlContext.parquetFile("correctedDoppler.parquet")
      3 confirmedSignalsDF.count
----> 4 confirmedSignalsDF.show(10)

/usr/local/src/spark/python/pyspark/sql/dataframe.py in show(self, n)
    271         5   Bob
    272         """
--> 273         print self._jdf.showString(n).encode('utf8', 'ignore')
    274 
    275     def __repr__(self):

/usr/local/src/spark/python/lib/py4j-0.8.2.1-src.zip/py4j/java_gateway.py in __call__(self, *args)
    536         answer = self.gateway_client.send_command(command)
    537         return_value = get_return_value(answer, self.gateway_client,
--> 538                 self.target_id, self.name)
    539 
    540         for temp_arg in temp_args:

/usr/local/src/spark/python/lib/py4j-0.8.2.1-src.zip/py4j/protocol.py in get_return_value(answer, gateway_client, target_id, name)
    298                 raise Py4JJavaError(
    299                     'An error occurred while calling {0}{1}{2}.\n'.
--> 300                     format(target_id, '.', name), value)
    301             else:
    302                 raise Py4JError(

Py4JJavaError: An error occurred while calling o140.showString.
: org.apache.spark.SparkException: Job aborted due to stage failure: Task 0 in stage 9.0 failed 10 times, most recent failure: Lost task 0.9 in stage 9.0 (TID 4590, yp-spark-dal09-env5-0037): 
java.io.FileNotFoundException: File file:/home/s26e-5a5fbda111ac17-5edfd8a0d95d/notebook/notebooks/correctedDoppler.parquet/part-r-00015.parquet does not exist
    at org.apache.hadoop.fs.RawLocalFileSystem.deprecatedGetFileStatus(RawLocalFileSystem.java:534)
    at org.apache.hadoop.fs.RawLocalFileSystem.getFileLinkStatusInternal(RawLocalFileSystem.java:747)
    at org.apache.hadoop.fs.RawLocalFileSystem.getFileStatus(RawLocalFileSystem.java:524)
    at org.apache.hadoop.fs.FilterFileSystem.getFileStatus(FilterFileSystem.java:409)
    at parquet.hadoop.ParquetFileReader.readFooter(ParquetFileReader.java:381)
    at parquet.hadoop.ParquetRecordReader.initializeInternalReader(ParquetRecordReader.java:155)
    at parquet.hadoop.ParquetRecordReader.initialize(ParquetRecordReader.java:138)
    at org.apache.spark.rdd.NewHadoopRDD$$anon$1.<init>(NewHadoopRDD.scala:133)
    at org.apache.spark.rdd.NewHadoopRDD.compute(NewHadoopRDD.scala:104)
    at org.apache.spark.rdd.NewHadoopRDD.compute(NewHadoopRDD.scala:66)
    at org.apache.spark.rdd.RDD.computeOrReadCheckpoint(RDD.scala:277)
    at org.apache.spark.rdd.RDD.iterator(RDD.scala:244)
    at org.apache.spark.rdd.MapPartitionsRDD.compute(MapPartitionsRDD.scala:35)
    at org.apache.spark.rdd.RDD.computeOrReadCheckpoint(RDD.scala:277)
    at org.apache.spark.rdd.RDD.iterator(RDD.scala:244)
    at org.apache.spark.rdd.MapPartitionsRDD.compute(MapPartitionsRDD.scala:35)
    at org.apache.spark.rdd.RDD.computeOrReadCheckpoint(RDD.scala:277)
    at org.apache.spark.rdd.RDD.iterator(RDD.scala:244)
    at org.apache.spark.scheduler.ResultTask.runTask(ResultTask.scala:61)
    at org.apache.spark.scheduler.Task.run(Task.scala:64)
    at org.apache.spark.executor.Executor$TaskRunner.run(Executor.scala:203)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1157)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:627)
    at java.lang.Thread.run(Thread.java:801)

Driver stacktrace:
    at org.apache.spark.scheduler.DAGScheduler.org$apache$spark$scheduler$DAGScheduler$$failJobAndIndependentStages(DAGScheduler.scala:1204)
    at org.apache.spark.scheduler.DAGScheduler$$anonfun$abortStage$1.apply(DAGScheduler.scala:1193)
    at org.apache.spark.scheduler.DAGScheduler$$anonfun$abortStage$1.apply(DAGScheduler.scala:1192)
    at scala.collection.mutable.ResizableArray$class.foreach(ResizableArray.scala:59)
    at scala.collection.mutable.ArrayBuffer.foreach(ArrayBuffer.scala:47)
    at org.apache.spark.scheduler.DAGScheduler.abortStage(DAGScheduler.scala:1192)
    at org.apache.spark.scheduler.DAGScheduler$$anonfun$handleTaskSetFailed$1.apply(DAGScheduler.scala:693)
    at org.apache.spark.scheduler.DAGScheduler$$anonfun$handleTaskSetFailed$1.apply(DAGScheduler.scala:693)
    at scala.Option.foreach(Option.scala:236)
    at org.apache.spark.scheduler.DAGScheduler.handleTaskSetFailed(DAGScheduler.scala:693)
    at org.apache.spark.scheduler.DAGSchedulerEventProcessLoop.onReceive(DAGScheduler.scala:1393)
    at org.apache.spark.scheduler.DAGSchedulerEventProcessLoop.onReceive(DAGScheduler.scala:1354)
    at org.apache.spark.util.EventLoop$$anon$1.run(EventLoop.scala:48)


In [15]:

#ls of the file said to be missing shows it is there

ls -l /home/s26e-5a5fbda111ac17-5edfd8a0d95d/notebook/notebooks/correctedDoppler.parquet/part-r-00015.parquet

-rw-r--r-- 1 s26e-5a5fbda111ac17-5edfd8a0d95d users 4275 Oct  5 18:18 /home/s26e-5a5fbda111ac17-5edfd8a0d95d/notebook/notebooks/correctedDoppler.parquet/part-r-00015.parquet