需求 :计算出10月1日这天全天停运的车辆

package CzC.demo03;import CzC.demo02.TaxiCsDriver;
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.util.HashSet;
import java.util.Set;/*** Created by 一个蔡狗 on 2019/12/3.*/
public class TaxiTyDriver extends Configured implements Tool {@Overridepublic int run(String[] args) throws Exception {Configuration conf = new Configuration();Job job = Job.getInstance(conf, "TaxiTy");job.setJarByClass(TaxiCsDriver.class);job.setInputFormatClass(TextInputFormat.class);TextInputFormat.addInputPath(job, new Path("E:\\2019-BUPT\\企业需求实战\\01\\20121001"));job.setMapperClass(TaxiTyMapper.class);job.setMapOutputKeyClass(Text.class);job.setMapOutputValueClass(Text.class);job.setReducerClass(TaxiTyReducer.class);job.setOutputKeyClass(Text.class);job.setOutputValueClass(Text.class);job.setOutputFormatClass(TextOutputFormat.class);TextOutputFormat.setOutputPath(job, new Path("E:\\2019-BUPT\\企业需求实战\\01\\10月1日这天全天停运车辆信息"));boolean b = job.waitForCompletion(true);return b ? 0 : 1;}public static void main(String[] args) throws Exception {ToolRunner.run(new TaxiTyDriver(), args);}static class TaxiTyMapper extends Mapper<LongWritable, Text, Text, Text> {@Overrideprotected void map(LongWritable key, Text value, Context context) throws IOException, InterruptedException {String[] split = value.toString().split(",");if (split.length >= 4) {
//                if (Long.parseLong(split[2]) == 3) {//10月1日String date = split[3];if (date.substring(0, 8).endsWith("1001")) {context.write(new Text(split[0]+"_"+split[2]), new Text(date));
//                    }}}}}static class TaxiTyReducer 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 {//去重Set<String> set = new HashSet<>();String[] split = key.toString().split("_");for (Text value : values) {if (Long.parseLong(split[1])==3){set.add(value.toString().substring(8, 10));}}if (set.size() == 24) {context.write(new Text("全天停运的车辆信息\t"), new Text(split[0]));}}}}

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

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

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

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

    需求 :计算出10月1日这天超速(超过120)的车辆,超速的次数,超速的详细时间 package CzC.demo02;import org.apache.hadoop.conf.Configurat ...

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

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

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

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

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

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

  6. 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 ...

  7. 10月23日,相约全球边缘计算大会·上海站

    全球边缘计算大会·上海站,将于10月23日在上海召开. 本次大会,既有前沿技术研究分享,又有边缘计算落地实践.应用案例,是一次边缘计算领域的大型综合性会议. 早上设置了1个主会场,下午设置3个分会场, ...

  8. 2016年10月13日 星期四 --出埃及记 Exodus 18:24

    2016年10月13日 星期四 --出埃及记 Exodus 18:24 Moses listened to his father-in-law and did everything he said. ...

  9. 从键盘输入一个日期,格式为yyyy-M-d 要求计算该日期与1949年10月1日距离多少天

    /** 从键盘输入一个日期,格式为yyyy-M-d要求计算该日期与1949年10月1日距离多少天例如:用户输入了:1949-10-2程序输出:1用户输入了:1949-11-1程序输出:31 */ im ...

最新文章

  1. 【2018.2.25】c++预习练习
  2. 刻意练习:Python基础 -- Task13. datetime模块详解
  3. 手写AngularJS脏检查机制
  4. 《研磨设计模式》chap14 迭代器模式(1)简介
  5. fast_recovery_area无剩余空间(ORA-19815)
  6. C语言整型在计算机的储存
  7. uclinux上任天堂游戏模拟器移植
  8. 基于SSM框架CRM客户管理系统
  9. Unity 3D 海水的实现1 海水网格的生成 LOD优化海水
  10. verilog 中的可综合与不可综合
  11. Sqlite3内存数据库
  12. PCIe的内存地址空间、I/O地址空间和配置地址空间
  13. 谷歌地球out了,谷歌火星来了!
  14. NSR学习笔记(手写版)
  15. 关于java文件删除file.delete()无法删除文件的处理办法
  16. 中国快递的“无冕之王”要回港上市了? 管理层身家超刘强东!
  17. 大数据精准营销(五)
  18. Ontology × DoraHacks 10万美金黑客松现已启航,在WEB3的世界里添“码”行空
  19. iOS:UIScrollView、UITableView、UICollectionView顶部空白问题
  20. 【翻译一下官方文档】邂逅uniCloud云函数(基础篇)

热门文章

  1. 观察者模式( Observer Pattern)
  2. 在上海服装批发进货去哪里?
  3. 【5G RRC】RSRP、RSRQ以及SINR含义、计算过程详细介绍
  4. 鬼火(irrlicht)的复燃
  5. java乱码utm-8_常用地址收集
  6. 光电效应的历史:爱因斯坦与莱纳德之间的争斗
  7. STM32开发(十二)STM32F103 功能应用 —— NTC 温度采集
  8. 国产Excel开发组件Spire.XLS【转换】教程(3):将 Excel 导出到 XML 和将 XML 导入到 Excel
  9. 用弦截法求解方程的根
  10. houdini 简化太阳