小编Art*_*tov的帖子

如何处理原始可空类型的Spark UDF输入/输出

问题:

1)如果输入是包含null以下内容的原始类型的列,Spark不会调用UDF :

inputDF.show()

+-----+
|  x  |
+-----+
| null|
|  1.0|
+-----+

inputDF
  .withColumn("y",
     udf { (x: Double) => 2.0 }.apply($"x") // will not be invoked if $"x" == null
  )
  .show()

+-----+-----+
|  x  |  y  |
+-----+-----+
| null| null|
|  1.0|  2.0|
+-----+-----+
Run Code Online (Sandbox Code Playgroud)

2)无法null从UDF 生成原始类型的列:

udf { (x: String) => null: Double } // compile error

sql null apache-spark udf

3
推荐指数
1
解决办法
1937
查看次数

标签 统计

apache-spark ×1

null ×1

sql ×1

udf ×1