Hadoop hive spark
hive spark HBASE java
input -》默认从HDFS中读取数据 FileInputFormat -》将每一行转成keyvalue -》输出: <行偏移量,行内容> key value 0 Hadoop hive spark 17 hive spark HBASE mapper -》输入:input输出<LongWritable,Text> -》map:方法,一行调用一次 针对每个行进行分割 输出: key value Hadoop 1 reduce1 hive 1 reduce2 spark 1 reduce1 hive 1 reduce2 spark 1 reduce1 HBASE 1 reduce1 shuffle:分区,分组,排序 输出: key value Hadoop <1> HBASE <1> hive <1,1> spark <1,1> reduce: reduce方法:每一条keyvalue调用一次reduce方法 将相同key的值List<value>,进行了相加求和 输入: key value Hadoop <1> HBASE <1> hive <1,1> spark <1,1> 输出: key value Hadoop 1 HBASE 1 hive 2 spark 2 output: 输出:默认将reduce的输出写入到hdfs FileOutputFormat
MapReduce开发模板
POJO:没有继承类也没有实现任何接口web
不继承也不实现 继承及实现 extends Configured implements Tool 官方推荐 不继承只实现 implements Tool 企业中用的比较多,通常Configured须要自定义一些配置,
自定义数据类型
基本数据类型
IntWritable,
LongWritable
Text
NullWritable
和java类型的转换
int –>set—> IntWritable
IntWritable –>get—>intapp
需求:svg
Map 输入: 输出 key value hive 0 1 Hadoop 0 1 spark 0 1 HBASE 0 1 hive 0 1 spark 0 1 reduce 输入: Hadoop 0 <1> HBASE 0 <1> hive 0 <1,1> spark 0 <1,1> 输出 Hadoop 1 1 HBASE 1 1 hive 2 2 spark 2 2 <key,value> -》implements WritableComparable -》定义成员变量,及get,set -》序列化和反序列,顺序必须一致 -》compareTo -》构造方法,带参数和无参 -》setAllValue -》toString