需求 :计算出10月1日这天超速(超过120)的车辆,超速的次数,超速的详细时间

package CzC.demo02;import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.conf.Configured;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.io.LongWritable;
import org.apache.hadoop.io.Text;
import org.apache.hadoop.mapreduce.Job;
import org.apache.hadoop.mapreduce.Mapper;
import org.apache.hadoop.mapreduce.Reducer;
import org.apache.hadoop.mapreduce.lib.input.TextInputFormat;
import org.apache.hadoop.mapreduce.lib.output.TextOutputFormat;
import org.apache.hadoop.util.Tool;
import org.apache.hadoop.util.ToolRunner;import java.io.IOException;
import java.text.SimpleDateFormat;/*** Created by 一个蔡狗 on 2019/12/3.*/
public class TaxiCsDriver extends Configured implements Tool {@Overridepublic int run(String[] args) throws Exception {Configuration conf = new Configuration();Job job = Job.getInstance(conf, "text");job.setJarByClass(TaxiCsDriver.class);job.setInputFormatClass(TextInputFormat.class);TextInputFormat.addInputPath(job, new Path("E:\\2019-BUPT\\企业需求实战\\01\\20121001"));job.setMapperClass(TaxiCsMapper.class);job.setMapOutputKeyClass(Text.class);job.setMapOutputValueClass(Text.class);job.setReducerClass(TaxiCsReducer.class);job.setOutputKeyClass(Text.class);job.setOutputValueClass(Text.class);job.setOutputFormatClass(TextOutputFormat.class);TextOutputFormat.setOutputPath(job, new Path("E:\\2019-BUPT\\企业需求实战\\01\\超速次数"));boolean b = job.waitForCompletion(true);return b ? 0 : 1;}public static void main(String[] args) throws Exception {ToolRunner.run(new TaxiCsDriver(), args);}static class TaxiCsMapper extends Mapper<LongWritable, Text, Text, Text> {private SimpleDateFormat df = new SimpleDateFormat("YYYY-MM-dd");@Overrideprotected void map(LongWritable key, Text value, Context context) throws IOException, InterruptedException {String[] split = value.toString().split(",");if (split.length >= 7) {if (Long.parseLong(split[6]) > 120) {//10月1日String date = split[3];if (date.substring(0, 8).endsWith("1001")) {context.write(new Text(split[0]), new Text(date));}}}}}static class TaxiCsReducer extends Reducer<Text, Text, Text, Text> {//        车机标识,触发事件,运营状态,GPS时间,GPS经度,GPS纬度,GPS速度,GPS方向,GPS状态@Overrideprotected void reduce(Text key, Iterable<Text> values, Context context) throws IOException, InterruptedException {long sum = 0;for (Text value : values) {context.write(new Text("车辆标识" + key), new Text("车辆时间" + value));sum++;}context.write(new Text("车辆标识" + key ), new Text("\r\t超时120的次数"+sum));}}}

MapReduce算法(计算出10月1日这天超速(超过120)的车辆,超速的次数,超速的详细时间)相关推荐

  1. MapReduce算法(计算出10月1日这天全天停运的车辆,)

    需求 :计算出10月1日这天全天停运的车辆 package CzC.demo03;import CzC.demo02.TaxiCsDriver; import org.apache.hadoop.co ...

  2. MapReduce算法(计算出10月1日这天载客次数超过10次的车辆,载客总次数,载客详细时间。)

    需求 :计算出10月1日这天载客次数超过10次的车辆,载客总次数,载客详细时间. package CzC.demo03;import CzC.demo02.TaxiCsDriver; import o ...

  3. python 判断该地址 文件创建时间2020年10月14日14时25分32秒 文件最后一次访问时间 文件最后一次修改时间

    #1.判断该地址 #1.文件名 #2.文件路径 #3.文件扩展名 #4.文件创建时间2020年10月14日14时25分32秒 #5.文件最后一次访问时间 #6.文件最后一次修改时间 #7.文件的大小( ...

  4. ff14服务器维护时间,《FF14》10月15日国服维护到几点 5.0新版本更新维护公告

    最终幻想14的国服将会在10月15日这天进行更新维护,并且也公布了最新5.0的更新笔记全部内容汇总以及具体的更新时间,下面就来为大家详细的介绍一下最终幻想14的更新维护公告. 亲爱的冒险者: 我们将于 ...

  5. 神雕侠侣手游服务器维护,《神雕侠侣》10月25日更新维护公告

    亲爱的玩家朋友: 为了给您提供更好的游戏体验,所有服务器将于2012年10月25日早上8:00点进行停机维护,所有服务器预计维护完成时间为12:00,具体开服时间以官方信息为准.请各位玩家提前处理好游 ...

  6. 问道神兵天降服务器维护,《古剑奇谭网络版》10月22日更新维护公告

    原标题:<古剑奇谭网络版>10月22日更新维护公告 本周更新内容 职业调整 概述:本次进行了部分斗法数值调整.本月内将不再进行技能机制及数值调整,优化及技能问题修复将持续进行. >& ...

  7. 【历史上的今天】10 月 8 日:Netflix 创始人诞生;反向传播算法经典论文发表;Android 4.0 发布

    整理 | 王启隆 透过「历史上的今天」,从过去看未来,从现在亦可以改变未来. 今天是 2022 年 10 月 8 日,家喻户晓的三国时期杰出人物诸葛亮在今天逝世,他对丰功伟绩被许多文献记载,他对巴蜀的 ...

  8. 计算任意一天距1949年10月1日的天数

    /** * @version * @author JavaHanlei * 计算任意一天距1949年10月1日的天数: * */ import java.util.Scanner; public cl ...

  9. 2016年10月9日 星期日 --出埃及记 Exodus 18:20

    2016年10月9日 星期日 --出埃及记 Exodus 18:20 Teach them the decrees and laws, and show them the way to live an ...

最新文章

  1. 软件开发文档模板 (学习)
  2. vmware中ubuntu虚拟机扩容
  3. shell实战之tomcat看门狗
  4. Coolite动态加载CheckboxGroup,无法在后台中获取
  5. 转载:ListBox的SelectedValue和SelectedItem的区别
  6. linux put函数,Linux内核中的get_user和put_user
  7. java 一级缓存,MyBatis一级缓存避坑完全指南
  8. LibXML2不支持中文补遗
  9. 抖音python上的代码_抖音代码舞「图文推荐」,python实例代码
  10. 从零开始学习音视频编程技术(41) H.264播放器
  11. 从Unity商店下载的插件存放的位置
  12. 再轰冯导,和科研人员比你只是个奢靡的戏子
  13. java中使用jxls导出excel,excel单元格换行,多sheet页导出
  14. pick out.php,pick_out.php
  15. python exec函数_Python中的exec函数
  16. HTML/CSS学习笔记(1)
  17. Ivanti的垃圾软件landesk
  18. ESP8266 Arduino-FLASH按钮电平驱动LED灯翻转
  19. “踔厉奋发 笃行不怠”第十三届中国优秀数据中心峰会暨第28届年会在北京召开
  20. 北理计算机学院2005年机试真题

热门文章

  1. echarts如何定制使用以便于减小打包体积
  2. 99款高质量免费HTML/CSS模板(看到了还行,推荐给大家)
  3. 算法问题之酒店预订问题(动态规划)
  4. 文件上传漏洞 — 前端JS绕过、MIME类型绕过
  5. Python自动化用这些知识点就够了!
  6. 4、Proteus仿真STM32串口通信,发送数据控制LED流水灯的启动和停止
  7. 联发科 MK8675 5G modem资料
  8. 国产操作系统厂商宣称将起诉微软商业诋毁,我觉得不好
  9. 人工智能 计算机科学的一个分支,人工智能是计算机科学一个分支(28页)-原创力文档...
  10. 案例:逻辑回归预测良恶性乳腺癌肿瘤