MapReduce程序不产生任何输出

时间:2017-11-03 17:51:22

标签: java hadoop

我目前正试图从一些推特数据中解析小时。 twitter中的时间戳是在epochseconds,我正在使用mapreduce程序来提取并总结每条推文发布的当天时间。我的java代码编译,并且hadoop作业运行,但是我得到一个空白输出。在查看hadoop作业的详细信息后,它告诉我合并的地图输出= 0.我已经尝试了一切,并且不知道为什么这不起作用。即使我没有正确解析日期,我仍然应该返回time = 23下记录的所有推文,这是我的if else语句列表中的最后一个。我把代码放在下面:

public class TweetHourMapper extends Mapper<Object, Text, Text, IntWritable> {
    private Text hour = new Text();
    private IntWritable count = new IntWritable(1);
    public void map(Object key, Text value, Context context) throws IOException, InterruptedException {
        String[] fields = value.toString().split(";");
        if (fields.length == 4) {
            String date = fields[0];
            Long aDate = Long.parseLong(date);
            Calendar calendar = Calendar.getInstance();
            calendar.setTimeInMillis(aDate);
            int time = calendar.get(Calendar.HOUR);
            if (time == 0) {
                hour.set("0");
                context.write(hour, count);
                //Below this i have a list of if else statements writing out if the    time== the particular hour. 

0 个答案:

没有答案