使用HiveQL和Spark中的列的平均值填充空值

时间:2017-08-07 02:06:48

标签: apache-spark hiveql

我在火花中使用HiveQL,并且喜欢用火花中的列的平均值来填充空值。

使用以下代码:

    StringBuilder query = new StringBuilder("select `ts0` as ts ");
    String[] cols = dataFrame.columns();

    for (String col : cols) {
            query.append(",`" + col + "` as " + trimmedCol);
        }

    }

我认为当存在空值时我应该使用“case”命令。谁能指导我上面怎么做?

1 个答案:

答案 0 :(得分:1)

您可以尝试以下

scala> val df = sqlContext.read.format("com.databricks.spark.csv").option("header","true").option("inferSchema","true").load("na_test.csv")


scala> df.show()

scala> df.na.fill(10.0,Seq("age"))


scala> df.na.fill(10.0,Seq("age")).show




scala> df.na.replace("age", Map(35 -> 61,24 -> 12))).show()