복붙노트

[SCALA] 스파크 DataFrame에 널 (null) 값을 교체

SCALA

스파크 DataFrame에 널 (null) 값을 교체

여기 해결책을 보았다 그러나 나는 시도 할 때 그것은 나를 위해 작동하지 않습니다.

우선은 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) 값은 변경되지 않았다.

캔 사람의 도움 나?

해결법

  1. ==============================

    1.이것은 기본적으로 매우 간단합니다. 새 DataFrame을 만들어야합니다. 나는 이전에 정의하는 DataFrame DF를 사용하고 있습니다.

    이것은 기본적으로 매우 간단합니다. 새 DataFrame을 만들어야합니다. 나는 이전에 정의하는 DataFrame DF를 사용하고 있습니다.

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

    DataFrames는 불변 구조입니다. 당신은 당신이 가게에 필요한 변환을 수행 할 때마다 새로운 값으로 변환 DataFrame에 영향을해야합니다.

  2. ==============================

    2.당신은 자바 이런 식으로 같은 달성 할 수

    당신은 자바 이런 식으로 같은 달성 할 수

    Dataset<Row> filteredData = dataset.na().fill(0);
    
  3. from https://stackoverflow.com/questions/33376571/replace-null-values-in-spark-dataframe by cc-by-sa and MIT license