![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
MapReduce
文章平均质量分 52
牧码文
只要思想不滑坡,从此不怕bug多
展开
-
MapReduce并行处理csv文件,将船舶数据划分子轨迹
bean对象因为在划分子轨迹中,主要使用的字段是mmsi号、位置、速度、时间,以及划分的特征点、子轨迹段,所以只需要这几个属性即可,重写toString方法,重写序列化和反序列化方法// bean类class SubTrajectorBean implements Writable{ private String MMSI; private Double Lat_d; private Double Lon_d; private Long unixTime; private Integer l原创 2021-12-03 19:25:30 · 1711 阅读 · 0 评论 -
MapReduce的数据输出到MySQL
MapReduce的数据输出到MySQLMapReduce的数据输出到MySQL中,首先要在javaBean中实现DBWritable接口,重写接口中的方法看下官网对DBWritable接口的表述Objects that are read from/written to a database should implement DBWritable. DBWritable, is similar to Writableexcept that the write(PreparedStatement) me原创 2021-07-24 14:55:00 · 573 阅读 · 0 评论 -
MapReduce对AIS数据进行数据插值
对数据进行插值对于某些距离偏差过大的数据之间进行插值首先需要掌握的几个小知识在插值之前,首先应该对数据已经按照了某种规则完成了排序,然后按照规则进行相邻点之间的比较,判断是否符合设定的阈值,满足插值情况的就对数据进行插值大体流程:遍历values,然后将value逐一存放到list中,随后遍历list(存放在list中,可以比较相邻点),判断在时间差距的x是否超过了规定的距离阈值,如果超过则插值,并将数据放到list中,如果不超限就直接输出放到list中,如果对于时间超限但是距离并未超限的,可以看原创 2021-07-23 16:20:24 · 510 阅读 · 0 评论 -
MapReduce自定义排序WriteComparable
MapReduce自定义排序MapReduce会按数据的Key进行默认的排序,如果想要进行定制排序,可以实现WritableComparable接口,重写compareTo方法注意,以上的办法是作用于MapReduce阶段的Key值进行排序,如果要对Value进行排序,则这里的写法不会起作用,按照Value的排序,在下面给出实现WritableComparable接口之后需要实现三个方法,分别是序列化方法,反序列化方法和compareTo方法需求,按照时间戳的正序进行排序要求在AISDataBea原创 2021-07-22 13:34:38 · 805 阅读 · 0 评论 -
MapReduce自定义分区Partition
Partition分区默认Partitioner 分区public class HashPartitioner<K, V> extends Partitioner<K, V> { public int getPartition(K key, V value, int numReduceTasks) { return (key.hashCode() & Integer.MAX_VALUE) % numReduceTasks; }}默认分区是根据key的hashC原创 2021-07-22 13:32:34 · 291 阅读 · 0 评论 -
MapReduce的几个报错信息
java.lang.OutOfMemoryError: Java heap space堆栈溢出,就是处理的内存大于了hadoop设置的内存大小Type mismatch in key from map: expected org.apache.hadoop.io.Text, received org.apache.hadoop.io.LongWritablekey的类型不匹配,要求的事Text类型,传入的是LongWritable类型,Map和Reduce的输入输出类型有错误,不匹配java.lan原创 2021-07-20 12:35:28 · 477 阅读 · 0 评论 -
MapReduce处理csv
MapReduce处理csvcsv是由逗号“,”来分割的文件,在编写Mapper类的时候需要以“,”分割成一个个的数据查看一下csv数据以上是为了测试做的数据,要处理的结果就是经过mapreduce再原封不动的出来,因为是测试,所以内容不做任何处理需求分析因为MapReduce的输入和输出都是k,v键值对的形式,所以考虑将输出v封装成一个对象,对象属性按照csv文件进行设置注意:因为封装为了对象使用MapReduce处理,就需要考虑序列化和反序列化,同时还需要考虑输入和输出的类型介绍MapR原创 2021-07-16 12:45:30 · 4967 阅读 · 9 评论