首页 > 解决方案 > 如果列为空,如何进行透视

问题描述

source Type
a       null  
a       aa 
a       bb 
a       cc

source null aa bb cc
a.       1.  1 1 1

如何停止 pivoting.a 包含 null 的列

标签: scalaapache-spark

解决方案


过滤null之前的值pivot

检查下面的代码。

scala> df.show(false)
+------+----+
|source|type|
+------+----+
|a     |null|
|a     |aa  |
|a     |bb  |
|a     |cc  |
+------+----+

scala> df
         .filter($"type".isNotNull)
         .groupBy($"source")
         .pivot($"type")
         .agg(count($"type"))
         .show(false)

+------+---+---+---+
|source|aa |bb |cc |
+------+---+---+---+
|a     |1  |1  |1  |
+------+---+---+---+


推荐阅读