Ich habe eine spezifische Anforderung, bei der ich auf leeren DataFrame überprüfen muss. Wenn leer, füllen Sie einen Standardwert. Hier ist, was ich versuchte, aber nicht bekommen, was ich will.Spark Scala - Handhabung leerer DataFrame
def checkNotEmpty(df: org.apache.spark.sql.DataFrame, col: String):org.apache.spark.sql.DataFrame =
{
if (!df.rdd.isEmpty()) df
else
df.na.fill(0, Seq(col))
}
val age = checkNotEmpty(w_feature_md.filter("age='22'").select("age_index"),"age_index")
Die Idee ist, das df zu bekommen, wenn es nicht leer ist. Wenn es leer ist, geben Sie einen Standardwert von NULL ein. Das scheint nicht zu funktionieren. Das Folgende ist, was ich bekomme.
scala> age.show
+---------+
|age_index|
+---------+
+---------+
Bitte helfen ..
Danke @ p2. Gibt es eine Möglichkeit, einen Standardwert von zu füllen, wenn es leer ist –
danke nochmal. Es funktioniert immer noch nicht wie erwartet. ' def checkNotEmpty (df: org.apache.spark.sql.DataFrame, col: String): org.apache.spark.sql.DataFrame = { \t if (df.rdd.isEmpty()) \t { \t println ("hier"); \t df.na.fill (0.0, Seq (col)) \t} \t sonst \t df } ' Ich versuchte, die auch oben. Der Wert ist nicht NULL, aber leer und daher denke ich nicht ** df.na.fill ** funktioniert in diesem Fall. –
überprüfen Sie diese Fragen: http://StackOverflow.com/Questions/33376571/Replace-Null- value-in-spark-dataframe –