2017-03-22 85 views
0

我想替换或更新数据框中的某些特定列值,因为我们知道Dataframe是不可变的,所以我试图将其转换为新的数据框而不是更新或替换。如何在Spark Dataframe中重新生成特定列的多个值?

我试图dataframe.replace在星火文档的解释,但它给我的错误为错误:值替换不是org.apache.spark.sql.DataFrame成员

我试过以下option.For传递多个值,我传递的数组

val new_df= df.replace("Stringcolumn", Map(array("11","17","18","10"->"12"))) 

,但我得到错误的

错误:遇到超载与替代品的价值数组

帮助真的很感激!

回答

1

要访问org.apache.spark.sql.DataFrameNaFunctions取代你必须调用.na。所以,你的代码应该是这个样子,

import com.google.common.collect.ImmutableMap 

df.na.replace("Stringcolumn", Map(10 -> 12, 11 -> 17)) 

看到here得到DataFrameNaFunctions的所有列表以及如何使用它们

相关问题