【发布时间】:2016-07-23 04:53:18
【问题描述】:
我在将随机森林模型保存到磁盘时收到以下 error。
火花集群配置-
火花包-spark-1.6.0-bin-hadoop2.6
模式 - 独立
我通过在每台从机中复制相同的数据来运行 spark
command - localModel.save(SlapSparkContext.get(), path)
模型已经过训练,可以正确预测测试数据
error trace
java.lang.NullPointerException 在 org.apache.parquet.hadoop.ParquetFileWriter.mergeFooters(ParquetFileWriter.java:456) 在 org.apache.parquet.hadoop.ParquetFileWriter.writeMetadataFile(ParquetFileWriter.java:420) 在 org.apache.parquet.hadoop.ParquetOutputCommitter.writeMetaDataFile(ParquetOutputCommitter.java:58) 在 org.apache.parquet.hadoop.ParquetOutputCommitter.commitJob(ParquetOutputCommitter.java:48) 在 org.apache.spark.sql.execution.datasources.BaseWriterContainer.commitJob(WriterContainer.scala:230) 在 org.apache.spark.sql.execution.datasources.InsertIntoHadoopFsRelation$$anonfun$run$1.apply$mcV$sp(InsertIntoHadoopFsRelation.scala:151) 在 org.apache.spark.sql.execution.datasources.InsertIntoHadoopFsRelation$$anonfun$run$1.apply(InsertIntoHadoopFsRelation.scala:108) 在 org.apache.spark.sql.execution.datasources.InsertIntoHadoopFsRelation$$anonfun$run$1.apply(InsertIntoHadoopFsRelation.scala:108) 在 org.apache.spark.sql.execution.SQLExecution$.withNewExecutionId(SQLExecution.scala:56) 在 org.apache.spark.sql.execution.datasources.InsertIntoHadoopFsRelation.run(InsertIntoHadoopFsRelation.scala:108) 在 org.apache.spark.sql.execution.ExecutedCommand.sideEffectResult$lzycompute(commands.scala:58) 在 org.apache.spark.sql.execution.ExecutedCommand.sideEffectResult(commands.scala:56) 在 org.apache.spark.sql.execution.ExecutedCommand.doExecute(commands.scala:70) 在 org.apache.spark.sql.execution.SparkPlan$$anonfun$execute$5.apply(SparkPlan.scala:132) 在 org.apache.spark.sql.execution.SparkPlan$$anonfun$execute$5.apply(SparkPlan.scala:130) 在 org.apache.spark.rdd.RDDOperationScope$.withScope(RDDOperationScope.scala:150) 在 org.apache.spark.sql.execution.SparkPlan.execute(SparkPlan.scala:130) 在 org.apache.spark.sql.execution.QueryExecution.toRdd$lzycompute(QueryExecution.scala:55) 在 org.apache.spark.sql.execution.QueryExecution.toRdd(QueryExecution.scala:55) 在 org.apache.spark.sql.execution.datasources.ResolvedDataSource$.apply(ResolvedDataSource.scala:256) 在 org.apache.spark.sql.DataFrameWriter.save(DataFrameWriter.scala:148) 在 org.apache.spark.sql.DataFrameWriter.save(DataFrameWriter.scala:139) 在 org.apache.spark.sql.DataFrameWriter.parquet(DataFrameWriter.scala:329) 在 org.apache.spark.mllib.tree.model.TreeEnsembleModel$SaveLoadV1_0$.save(treeEnsembleModels.scala:453) 在 org.apache.spark.mllib.tree.model.RandomForestModel.save(treeEnsembleModels.scala:65)
【问题讨论】:
-
如果将 localModel.save(...) 替换为 localModel.count 会出现同样的错误吗?
-
eliasah - 我无法找到任何方法名称计数。我正在使用 spark-mllib_2.10 -version 1.6
-
然后在运行算法之前对您的供稿数据执行 RF 算法计数
-
它正在返回正确的 RDD 计数,它不会引发任何错误。
标签: scala apache-spark