提问者:小点点

docker parquet错误中的火花未找到预定义的架构


我有一个基于https://github.com/gettyimages/docker-spark的本地火花测试集群,包括R。特别是,使用此图像:https://hub.docker.com/r/possibly/spark/

尝试使用sparkR读取拼花文件会出现此异常。读取拼花文件在本地火花安装上没有任何问题。

     myData.parquet <- read.parquet(sqlContext, "/mappedFolder/myFile.parquet")
16/03/29 20:36:02 ERROR RBackendHandler: parquet on 4 failed
Fehler in invokeJava(isStatic = FALSE, objId$id, methodName, ...) : 
  java.lang.AssertionError: assertion failed: No predefined schema found, and no Parquet data files or summary files found under file:/mappedFolder/myFile.parquet.
    at scala.Predef$.assert(Predef.scala:179)
    at org.apache.spark.sql.execution.datasources.parquet.ParquetRelation$MetadataCache.org$apache$spark$sql$execution$datasources$parquet$ParquetRelation$MetadataCache$$readSchema(ParquetRelation.scala:512)
    at org.apache.spark.sql.execution.datasources.parquet.ParquetRelation$MetadataCache$$anonfun$12.apply(ParquetRelation.scala:421)
    at org.apache.spark.sql.execution.datasources.parquet.ParquetRelation$MetadataCache$$anonfun$12.apply(ParquetRelation.scala:421)
    at scala.Option.orElse(Option.scala:257)
    at org.apache.spark.sql.execution.datasources.parquet.ParquetRelation$MetadataCache.refresh(ParquetRelation.scala:421)
    at org.apache.spark.sql.execution.datasources.parquet.ParquetRelation.org$apache$spark$sql$execution$datasources$parquet$ParquetRelation$$metadataCac

奇怪的是,同样的错误也是一样的——即使是不存在的文件。

但是在终端中,我可以看到文件在那里:

    /mappedFolder/myFile.parquet
    root@worker:/mappedFolder/myFile.parquet# ls
    _common_metadata                                              part-r-00097-e5221f6f-e125-4f52-9f6d-4f38485787b3.gz.parquet  part-r-00196-e5221f6f-e125-4f52-9f6d-4f38485787b3.gz.parquet
....

共1个答案

匿名用户

我最初的拼花文件似乎在我测试运行dockerize火花时已损坏。

解决:从原始来源重新创建拼花文件