2017-09-22 89 views
0

将火花数据帧写入csv和实木复合地板时发生错误。我已经尝试安装winutil,但仍未解决错误。SparkR将数据帧写入csv和实木复合地时发生错误

我的代码

INVALID_IMEI <- c("","000000000000000") 
    setwd("D:/Revas/Jatim Old") 
    fileList <- list.files() 
    cdrSchema <- structType(structField("date","string"), 
         structField("time","string"), 
         structField("a_number","string"), 
         structField("b_number", "string"), 
         structField("duration","integer"), 
         structField("lac_cid","string"), 
         structField("imei","string")) 
    file <- fileList[1] 
    filePath <- paste0("D:/Revas/Jatim Old/",file) 
    dataset <- read.df(filePath, header="false",source="csv",delimiter="|",schema=cdrSchema) 
    dataset <- filter(dataset, ifelse(dataset$imei %in% INVALID_IMEI,FALSE,TRUE)) 
    dataset <- filter(dataset, ifelse(isnan(dataset$imei),FALSE,TRUE)) 
    dataset <- filter(dataset, ifelse(isNull(dataset$imei),FALSE,TRUE)) 

要导出数据框,我尝试下面的代码

write.df(dataset, "D:/spark/dataset",mode="overwrite") 
    write.parquet(dataset, "D:/spark/dataset",mode="overwrite") 

,我得到以下错误

Error: Error in save : org.apache.spark.SparkException: Job aborted. 
at org.apache.spark.sql.execution.datasources.FileFormatWriter$$anonfun$write$1.apply$mcV$sp(FileFormatWriter.scala:215) 
at org.apache.spark.sql.execution.datasources.FileFormatWriter$$anonfun$write$1.apply(FileFormatWriter.scala:173) 
at org.apache.spark.sql.execution.datasources.FileFormatWriter$$anonfun$write$1.apply(FileFormatWriter.scala:173) 
at org.apache.spark.sql.execution.SQLExecution$.withNewExecutionId(SQLExecution.scala:65) 
at org.apache.spark.sql.execution.datasources.FileFormatWriter$.write(FileFormatWriter.scala:173) 
at org.apache.spark.sql.execution.datasources.InsertIntoHadoopFsRelationCommand.run(InsertIntoHadoopFsRelationCommand.scala:145) 
at org.apache.spark.sql.execution.command.ExecutedCommandExec.sideEffectResult$lzycompute(commands.scala:58) 
at org.apache.spark.sql.execution.command.ExecutedCommandExec.sideEffectResult(commands.scala:56) 
at org.apache.spark.sql.execution.comma 

回答

0

我已经找到了可能的原因。这个问题似乎在于winutil版本,以前使用2.6。将其改为2.8可解决问题

相关问题