随笔分类 - Mapreduce
摘要:1. 01 Map输出设置压缩 案例 package ComMapOutPk { import java.lang import org.apache.hadoop.conf.Configuration import org.apache.hadoop.fs.Path import org.apac
阅读全文
摘要:1. 输入数据接口 :InputFormat 1. 默认使用的实现类 :TextInputFormat 一次读取一行文本,该行的起始偏移量为key,行内容为value 2. CombineTextInputFormat 可以将多个小文件合并成一个切片处理,提高处理效率 3. 博客连接 https:/
阅读全文
摘要:package MapFilterPk { import org.apache.hadoop.conf.Configuration import org.apache.hadoop.fs.{FSDataInputStream, FileSystem, Path} import org.apache.
阅读全文
摘要:1. 需求描述 订单数据表 : t_order表 id 订单id pid 产品id amount 产品数量 id pid amount 1001 01 1 1002 02 2 1003 03 3 1004 01 4 1005 02 5 1006 03 6 商品信息表 : t_product表 pid
阅读全文
摘要:1. MapTask 工作机制 1. 流程图 2. 流程说明 源码 2. 流程说明 1. Read阶段 2. Map阶段 3. Collect收集阶段 4. Split阶段(溢写阶段) 5. Merge阶段 MapTask 通过 InputFormat 获取 RecodeReader 并从 输入的切
阅读全文
摘要:1. 说明 2. 常用实现类 3. 使用 自定义 OutputFormat类 步骤1 自定义 FileOutputFormat类 继承 FileOutputFormat 重写 getRecordWriter方法 步骤2 自定义 RecordWriter类 继承 RecordWriter 1. 创建
阅读全文
摘要:1. 说明 2. 指定 合并器 // 指定 合并器 public void setCombinerClass(Class<? extends Reducer> cls ) throws IllegalStateException { ensureState(JobState.DEFINE); //
阅读全文
摘要:1. 说明 2. 排序时机 与 排序算法 流程图 3. 排序分类 4. 实现 1. 说明 自定义类 为key 时,必须 实现 WritableComparable接口,否则无法排序 2. 实现 自定义类 实现 WritableComparable接口, 重写 compareTo 方法 5. 代码案例
阅读全文
摘要:1. Partition 分区个数、ReduceTask并行度、分区器 点击查看 分区器 源码 /* 分区器使用流程 1. Driver中 指定分区个数 和分区器实现类 分区个数(ReduceTask个数) : job.setNumReduceTasks(n) 或 mapreduce.job.red
阅读全文
摘要:点击查看 Shuffle 流程图 点击查看 Shuffle 机制 说明 Hadoop 6. Shuffle 机制 - (流程) 1. 什么是Shuffle&Shuffle的作用 1. Map方法之后,Reduce方法之前的数据处理过程 称之为 Shuffle 2. 流程说明 1. MapTask 通
阅读全文
摘要:Hadoop 1. InputFormat(抽象类) 数据输入 1.2.1 FileInputFormat 1. 切片方法 1.1 抽象方法 1. public abstract List<InputSplit> getSplits (JobContext context) 2. public ab
阅读全文
摘要:Hadoop 2. InputSplit 切片类 1.0 类的作用 InputSplit 他在逻辑上包含了提供给处理这个Inputsplit的Mapper的所有的key-value 1.1 抽象方法 1. public abstract long getLength() 2. public abst
阅读全文
摘要:Hadoop 3. 切片 与 MapTask并行度 1. MapTask并行度 切片数 = MapTask 任务数(并行度) 0 . 术语 1. 数据块(Block) 2. 数据切片(Split) 1. Block是 HDFS物理上把数据文件分成一块一块 1. 数据切片只是在 逻辑上对输入数据进行分
阅读全文
摘要:Hadoop 2. Job提交流程(源码) 1. 客户端 执行Driver类的main方法 2. var configuration = new Configuration 读取配置文件 Configuration: core-default.xml, core-site.xml, mapred-d
阅读全文
摘要:
阅读全文
摘要:代码示例 package GroupByPoneNumPk { import java.io.{DataInput, DataOutput} import java.lang import org.apache.hadoop.conf.Configuration import org.apache.
阅读全文
摘要:4. Java序列化(Serializable)框架 or Hadoop序列化(Writable)框架 代码示例 package twoPk { import java.io._ import java.util.Date import org.apache.hadoop.io.Writable /
阅读全文
摘要:1. 在Mac环境搭建Hadoop MapReduce 项目 1. scala项目搭建 https://www.cnblogs.com/bajiaotai/p/15381309.html 2. 添加pom依赖 <dependencies> <dependency> <groupId>org.apac
阅读全文