【发布时间】:2021-03-22 05:56:40
【问题描述】:
我有一个 pyspark 数据框,其中有一列值为字符串 json。如何计算字典内列表中与特定值匹配的值并将其作为列报告?
例如,下面是数据框:
+---------------------------------------------------------------------------+
|col |
+---------------------------------------------------------------------------+
|{"field":{"list":[{"item":1,"upgrade":false},{"item":2,"upgrade":true}]}}
+----------------------------------------------------------------------------+
|{"field":{"list":[{"item":1,"upgrade":false},{"item":2,"upgrade":false}]}}
+--------------------------------------------------------------------------+
我想计算列表中有多少“升级”键是假的。
所以理想的数据框应该是这样的:
+---------------------------------------------------------------------------+----------------+
|col | upgrade_false
+---------------------------------------------------------------------------+-----------------+
|{"field":{"list":[{"item":1,"upgrade":false},{"item":2,"upgrade":true}]}} | 1
+----------------------------------------------------------------------------+----------------+
|{"field":{"list":[{"item":1,"upgrade":false},{"item":2,"upgrade":false}]}} | 2
+----------------------------------------------------------------------------+-----------------+
提前致谢。
【问题讨论】:
-
列是字符串吗? Spark 没有字典类型。
-
@mck 是的,它是字符串。很抱歉造成混乱
标签: python json apache-spark pyspark apache-spark-sql