scala - 如何在 SPARK 数据帧 v1.6 的左外连接中将 NULL 替换为 0

标签 scala apache-spark apache-spark-sql apache-spark-1.6

我正在使用 Spark v1.6。我有以下两个数据帧,我想在我的左外连接 ResultSet 中将 null 转换为 0。有什么建议?
数据帧

val x: Array[Int] = Array(1,2,3)
val df_sample_x = sc.parallelize(x).toDF("x")

val y: Array[Int] = Array(3,4,5)
val df_sample_y = sc.parallelize(y).toDF("y")
左外连接
val df_sample_join = df_sample_x
  .join(df_sample_y,df_sample_x("x") === df_sample_y("y"),"left_outer")
结果集
scala> df_sample_join.show

x  |  y
--------
1  |  null

2  |  null

3  |  3

But I want the resultset to be displayed as.
-----------------------------------------------

scala> df_sample_join.show

x  |  y
--------
1  |  0

2  |  0

3  |  3

最佳答案

只需使用 na.fill :

df.na.fill(0, Seq("y"))

关于scala - 如何在 SPARK 数据帧 v1.6 的左外连接中将 NULL 替换为 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40772209/

相关文章:

string - Scala:删除最后一次出现的字符

scala - 添加两个 RDD[mllib.linalg.Vector]

apache-spark - 如何将 Prefect 的资源管理器与 Spark 集群结合使用

java - 如何在流批流连接中定义连接条件?

sql - 在pyspark中实现MERGE INTO sql

scala - 无法在 Spark Scala 中导入 org.apache.spark.streaming.twitter

java - joda datetime 处理首字母缩略词和显式时区

scala - 有没有更好的方法对 RDD[Array[Double]] 进行归约操作

python - PySpark - Spark DataFrame 数组与 Python 列表不同吗?

java - 在 Scala 中将类型作为参数传递