ここで解決策を見ましたが、試したときにうまくいきませんでした。
まず、cars.csvファイルをインポートします。
val df = sqlContext.read
.format("com.databricks.spark.csv")
.option("header", "true")
.load("/usr/local/spark/cars.csv")
次のようになります:
+----+-----+-----+--------------------+-----+
|year| make|model| comment|blank|
+----+-----+-----+--------------------+-----+
|2012|Tesla| S| No comment| |
|1997| Ford| E350|Go get one now th...| |
|2015|Chevy| Volt| null| null|
それから私はこれを行います:
df.na.fill("e",Seq("blank"))
ただし、null値は変更されませんでした。
誰も私を助けることができますか?
これは基本的に非常に簡単です。新しいDataFrame
を作成する必要があります。前に定義したDataFrame df
を使用しています。
val newDf = df.na.fill("e",Seq("blank"))
DataFrame
sは不変構造です。保存する必要のある変換を実行するたびに、変換されたDataFrame
を新しい値に変更する必要があります。
Javaこの方法で同じことを達成できます
Dataset<Row> filteredData = dataset.na().fill(0);