Apache spark 基于PySpark的动态时间分析

Apache spark 基于PySpark的动态时间分析,apache-spark,datetime,pyspark,apache-spark-sql,Apache Spark,Datetime,Pyspark,Apache Spark Sql,假设我们有一个具有以下结构的数据集: df = sc.parallelize([['a','2015-11-27', 1], ['a','2015-12-27',0], ['a','2016-01-29',0], ['b','2014-09-01', 1], ['b','2015-05-01', 1] ]).toDF(("user", "date", "category")) 我想分析的是用户在几个月内的生命周期属性。例如,我想对用户生命周期中每个月的“category”列进行汇总。对于用户“

假设我们有一个具有以下结构的数据集:

df = sc.parallelize([['a','2015-11-27', 1], ['a','2015-12-27',0], ['a','2016-01-29',0], ['b','2014-09-01', 1], ['b','2015-05-01', 1] ]).toDF(("user", "date", "category"))
我想分析的是用户在几个月内的生命周期属性。例如,我想对用户生命周期中每个月的“category”列进行汇总。对于用户“a”,这看起来像:

output = sc.parallelize([['a',0, 1], ['a',1,0], ['a',2,0]]).toDF(("user", "user_lifetime_in_months", "sum(category)"))
Spark中最有效的方法是什么?例如,窗口功能