考虑以下数据帧:
------------+--------------------+
|id| values
+------------+--------------------+
| 39|a,a,b,b,c,c,c,c,d
| 520|a,b,c
| 832|a,a
我想将其转换为以下DataFrame:
------------+--------------------+
|id| values
+------------+--------------------+
| 39|{"a":2, "b": 2,"c": 4,"d": 1}
| 520|{"a": 1,"b": 1,"c": 1}
| 832|{"a": 2}
我尝试了两种方法:
>将数据帧转换为rdd.然后我将值列映射到frequancy计数器函数.但是我将rdd转换回数据帧时遇到错误
>使用udf基本上做与上面相同的事情.
我想拥有一个字典列的原因是在我的一个python应用程序中将其作为json加载.