Я пытался сделать линейную регрессию с sparkR, начиная с this tutorial.SparkR ERROR RBackendHandler: fitRModelFormula
У меня есть 2 авиационных авиалинии и самолеты с некоторым полем для каждого из них.
#read dataframe
airlines <- read.df(sqlContext, path="/home/daniele/air.csv",source="com.databricks.spark.csv", header="true", inferSchema="true")
planes <- read.df(sqlContext, "/home/daniele/plane.csv",source="com.databricks.spark.csv", header="true", inferSchema="true")
#join both on tailnum field
joined<-join(airlines,planes,airlines$tailnum==planes$tailnum)
#it show some result as expected
showDF(select(training,"aircraft_type","DISTANCE","arr_delay","dep_delay"))
model <- glm(arr_delay ~ dep_delay + DISTANCE,family = "gaussian", data = joined)
На последней команды я получил это:
ERROR RBackendHandler: fitRModelFormula on [org.apache.spark.ml.api.r.SparkRWrappers failed
Errore in invokeJava(isStatic = TRUE, className, methodName, ...) :
java.lang.IllegalArgumentException: Could not parse formula: m$arr_delay ~ m$dep_delay
at org.apache.spark.ml.feature.RFormulaParser$.parse(RFormulaParser.scala:126)
at org.apache.spark.ml.feature.RFormula.hasIntercept(RFormula.scala:78)
at org.apache.spark.ml.api.r.SparkRWrappers$.fitRModelFormula(SparkRWrappers.scala:39)
at org.apache.spark.ml.api.r.SparkRWrappers.fitRModelFormula(SparkRWrappers.scala)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.spark.api.r.RBackendHandler.handleMethodCall(RBackendHandler.scala:132)
at org.apache.spark.api.r.RBackendHandler.channelRead0(RBackendHandler.scala:79)
at org.apache.spark.api.r.RBackendHandler.channelRead0(RBackendHandler.scala:38)
at io.netty.channel.SimpleChannelInb
Я действительно не знаю, как это исправить, и когда я получил какую-то ошибку, они приходят от этого RBackendHandler.
Не могли бы вы повлечь за собой то, что вы сделали, чтобы получить поездку ошибки? – angerhang
Я думаю, что он был порожден значением Blank на csv, что они были в начале документа. –
Хорошо спасибо! Это сработало. – angerhang