
MapReduce
文章平均质量分 95
1
卌卄
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
一、MapReduce概述
也就是说你写一个分布式程序,跟写一个简单的串行程序是一模一样的。(3)修改不带依赖的jar包名称为wc.jar,并拷贝该jar包到Hadoop集群的/opt/module/hadoop-3.1.3路径。(2)在项目的src/main/resources目录下,新建一个文件,命名为“log4j.properties”,在文件中填入。MapReduce设计的初衷就是使程序能够部署在廉价的PC机器上,这就要求它具有很高的容错性。的编程框架,是用户开发“基于Hadoop的数据分析应用”的核心框架。原创 2023-08-01 14:41:14 · 101 阅读 · 1 评论 -
五、Hadoop数据压缩
即使你的MapReduce的输入输出文件都是未压缩的文件,你仍然可以对Map任务的中间结果输出做压缩,因为它要写在硬盘并且通过网络传输到Reduce节点,对其压缩可以提高很多性能,这些工作只要设置两个属性即可,我们来看下代码怎么设置。mapreduce.output.fileoutputformat.compress.codec(在mapred-site.xml中配置)mapreduce.map.output.compress.codec(在mapred-site.xml中配置)缺点:不支持Split;原创 2023-08-11 18:57:30 · 283 阅读 · 0 评论 -
四、MapReduce框架原理(OutputFormat数据输出、MapReduce内核源码解析、Join应用、 数据清洗(ETL)、MapReduce开发总结)
每轮合并mapreduce.task.io.sort.factor(默认10)个文件,并将产生的文件重新加入待合并列表中,对文件排序后,重复以上过程,直到最终得到一个大文件。缺点:这种方式中,合并的操作是在Reduce阶段完成,Reduce端的处理压力太大,Map节点的运算负载则很低,资源利用率不高,且在Reduce阶段极易产生数据倾斜。通过将关联条件作为Map输出的key,将两表满足Join条件的数据并携带数据所来源的文件信息,发往同一个ReduceTask,在Reduce中进行数据的串联。原创 2023-08-11 14:53:37 · 148 阅读 · 0 评论 -
三、MapReduce框架原理(InputFormat数据输入、MapReduce工作流程、Shuffle机制)
剩余的大小为4.02M,如果按照4M逻辑划分,就会出现0.02M的小的虚拟存储文件,所以将剩余的4.02M文件切分成(2.01M和2.01M)两个文件。CombineTextInputFormat用于小文件过多的场景,它可以将多个小文件从逻辑上规划到一个切片中,这样,多个小文件就可以交给一个MapTask处理。手机号136、137、138、139开头都分别放到一个独立的4个文件中,其他开头的放到一个文件中。educe程序的执行效率,原则上说,缓冲区越大,磁盘io的次数越少,执行速度就越快。原创 2023-08-04 21:24:16 · 242 阅读 · 1 评论 -
二、Hadoop序列化
Java的序列化是一个重量级序列化框架(Serializable),一个对象被序列化后,会附带很多额外的信息(各种校验信息,Header,继承体系等),不便于在网络中高效传输。(7)如果需要将自定义的bean放在key中传输,则还需要实现Comparable接口,因为MapReduce框中的Shuffle过程要求对key必须能排序。(6)要想把结果显示在文件中,需要重写toString(),可用"\t"分开,方便后续用。序列化可以存储“活的”对象,可以将“活的”对象发送到远程计算机。原创 2023-08-02 21:10:23 · 85 阅读 · 0 评论