2017-03-22 114 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的所有列表以及如何使用它們

相關問題