2015-10-27 13 views
8

私はここで解決策を見ましたが、試してみるとうまくいきません。Spark DataFrameのヌル値を置き換えます

まず私はcars.csvファイルのインポート:

df.na.fill("e",Seq("blank")) 

しかし、null値のdidn:その後、私はこれを行う

+----+-----+-----+--------------------+-----+ 
|year| make|model|    comment|blank| 
+----+-----+-----+--------------------+-----+ 
|2012|Tesla| S|   No comment|  | 
|1997| Ford| E350|Go get one now th...|  | 
|2015|Chevy| Volt|    null| null| 

val df = sqlContext.read 
       .format("com.databricks.spark.csv") 
       .option("header", "true") 
       .load("/usr/local/spark/cars.csv") 

次のようになります。変わらない。

誰でも手伝ってもらえますか?

+0

声明 'df.na.fill Javaで同じ達成することができます( "e" は、配列( "ブランク"))' 'そうdf'がする新しい' DataFrame'を返します。変更しないでください。あなたはそれを新しい 'DataFrame'に割り当てていますか? –

+0

ありがとう!わかった! –

答えて

19

これは基本的には非常に簡単です。新しいDataFrameを作成する必要があります。前に定義したDataFrame dfを使用しています。

val newDf = df.na.fill("e",Seq("blank")) 

DataFrame sが不変構造です。 保存する必要がある変換を実行するたびに、変換後のDataFrameに新しい値を適用する必要があります。

3

あなたはこのよう

Dataset<Row> filteredData = dataset.na().fill(0); 
関連する問題