MapReduce程序可按天统计唯一用户数

2024-05-20 01:32:57 发布

您现在位置:Python中文网/ 问答频道 /正文

我想创建一个MapReduce程序来计算每天有多少用户使用一个站点。我的数据集是一个.csv文件,我正在提取;(date, user),其中date是dd-MM-yyyy HH:mm格式的字符串,user也是一个字符串。在

我知道在scala中,我会做一些(大致)的事情

val rdd = data.map(x => (x.date -> user))
val users = rdd.reduceByKey(_ + _)

得到一个每天的用户列表,然后我可以统计唯一的用户。在

我的问题是我需要在Hadoop中使用python为mapper和reducer创建文件。我对python不是很有经验,我很难决定如何按日期过滤用户。在

下面是我对映射器的尝试:

^{pr2}$

但我真的不知道如何创建减速器。任何帮助都将不胜感激。在

我也看到过这个问题:What's the best way to count unique visitors with Hadoop? 我很想按照给出的建议来做,但是我不知道如何开始创建减速器.py文件来做这个。在


Tags: 文件csv数据字符串用户程序hadoopdate