我想返回事件每周每小时发生的次数(按天和小时分组)。使用sparkDataframe,我可以得到一个包含“dateoccurred”字符串列的返回行列表(24日和17日是星期五,23日和16日是星期四)
行(dateoccurrent='24-04-2020 10:08:00')
行(dateoccurred='24-04-2020 11:52:00')
行(dateoccurred='24-04-2020 11:35:00')
行(dateoccurrent='23-04-2020 15:13:00')
行(dateoccurrent='23-04-2020 15:20:00')
行(dateoccurred='23-04-2020 23:52:00')
行(dateoccurrent='16-04-2020 15:22:00')
行(dateoccurrent='16-04-2020 23:12:00')
行(dateoccurrent='16-04-2020 14:28:00')
行(dateoccurrent='17-04-2020 10:16:00')
行(dateoccurrent='17-04-2020 11:19:00')
行(dateoccurrent='17-04-2020 12:52:00')
我想将结果转换为以下格式“
(‘星期五10’,2)
(‘星期五11’,3)
(‘星期五12’,1)
('15'星期四,3)
(“星期四23”,2)
('14'星期四,1)
1条答案
按热度按时间sxissh061#
你必须从日期栏中提取日期和时间。今天,你有两个选择。首先,可以使用udf提取工作日全名。如果一天足够作为一个整数,您可以使用内置的pyspark功能。之后,可以连接这两列并执行groupby+计数