在spark中拆分列时,我试图将空值填充为null。例子:
| A |
| 1.2.3 |
| 4..5 |
我在找:
aa分体式1a分体式2a分体式31.2.31234..545
我得到了:
aa分体式1a分体式2a分体式31.2.31234..545
我的代码是:
df.withColumn("A", when(split(col("A"), "\\.") =!= lit(""), split(col("A"), "\\."))
但是,我得到了一个错误,因为类型不匹配:
数组(字符串)不是字符串。
不使用自定义项就可以找到解决方案吗?
非常感谢
2条答案
按热度按时间kx1ctssn1#
当获取列使用的数组项时,可以拆分
when
如果元素为空,则更改为null:b0zn9rqh2#
你可以
transform
通过将空值替换为空值来获得拆分结果: