文章分类 -  MapReduce

摘要:MapReduce的压缩 压缩配置参数 要在Hadoop中启用压缩,可以配置如下参数: 参数-name 默认值 阶段 建议 io.compression.codecs (在core-site.xml中配置) org.apache.hadoop.io.compress.DefaultCodec, or 阅读全文

posted @ 2020-05-05 11:10 MissRong 阅读(642) 评论(0) 推荐(0) |

摘要:Map、Reduce输出端采用压缩 即使你的MapReduce的输入输出文件都是未压缩的文件,你仍然可以对map任务的中间结果输出做压缩,因为它要写在硬盘并且通过网络传输到reduce节点,对其压缩可以提高很多性能,这些工作只要设置两个属性即可,我们来看下代码怎么设置: 提供的hadoop源码支持的 阅读全文

posted @ 2020-05-05 11:08 MissRong 阅读(312) 评论(0) 推荐(0) |

摘要:【压缩/解压缩案例】(一)数据流的压缩和解压缩 CompressionCodec有两个方法可以用于轻松地压缩或解压缩数据。 要想对正在被写入一个输出流的数据进行压缩,我们可以使用createOutputStream(OutputStreamout)方法创建一个CompressionOutputStr 阅读全文

posted @ 2020-05-05 10:33 MissRong 阅读(279) 评论(0) 推荐(0) |

摘要:Hadoop数据压缩(一)概述+MR支持的压缩编码 一、概述 压缩技术能够有效减少底层存储系统(HDFS)读写字节数。压缩提高了网络带宽和磁盘空间的效率。 在Hadoop下,尤其是数据规模很大和工作负载密集的情况下,使用数据压缩显得非常重要。 在这种情况下,I/O操作和网络数据传输要花大量的时间。还 阅读全文

posted @ 2020-05-05 09:41 MissRong 阅读(458) 评论(0) 推荐(0) |

摘要:Shuffle机制* (三)GroupingComparator分组(辅助排序) 1)对reduce阶段的数据根据某一个或几个字段进行分组。 2)案例实操 详见【辅助排序和二次排序案例(GroupingComparator)】 求出每一个订单中最贵的商品(GroupingComparator) ht 阅读全文

posted @ 2020-05-03 16:17 MissRong 阅读(165) 评论(0) 推荐(0) |

摘要:Shuffle机制*(二)WritableComparable排序 排序是MapReduce框架中最重要的操作之一。Map Task和Reduce Task均会对数据(按照key)进行排序。该操作属于Hadoop的默认行为。任何应用程序中的数据均会被排序,而不管逻辑上是否需要。默认排序是按照字典顺序 阅读全文

posted @ 2020-05-03 16:16 MissRong 阅读(143) 评论(0) 推荐(0) |

摘要:辅助排序和二次排序案例(GroupingComparator) 1)需求 有如下订单数据 订单id 商品id 成交金额 0000001 Pdt_01 222.8 0000001 Pdt_06 25.8 0000002 Pdt_03 522.8 0000002 Pdt_04 122.4 0000002 阅读全文

posted @ 2020-05-03 16:15 MissRong 阅读(168) 评论(0) 推荐(0) |

摘要:将统计结果按照手机归属地不同省份输出到不同文件中(Partitioner) 需求: 将统计结果按照手机归属地不同省份输出到不同文件中(分区) 1)数据准备 2)分析 (1)Mapreduce中会将map输出的kv对,按照相同key分组,然后分发给不同的reducetask。默认的分发规则为:根据ke 阅读全文

posted @ 2020-05-03 15:23 MissRong 阅读(302) 评论(0) 推荐(0) |

摘要:【流量汇总案例】(四)不同省份输出文件内部排序(部分排序) 1)需求 要求每个省份手机号输出的文件中按照总流量内部排序。 2)分析: 基于【流量汇总案例】(三),增加自定义分区类即可。 3)代码实现 一、分区类 package MapReduce.LiuLiang.WritableComparabl 阅读全文

posted @ 2020-05-03 15:04 MissRong 阅读(255) 评论(0) 推荐(0) |

摘要:【流量汇总案例】(三)将统计结果按照总流量倒序排序(全排序) 需求: 根据【流量汇总案例】(一)产生的结果再次对总流量进行排序。 1)数据准备 注意:引用的是【流量汇总案例】(一)的序列化后的结果文件中的数据。https://www.cnblogs.com/liuxinrong/articles/1 阅读全文

posted @ 2020-05-03 14:52 MissRong 阅读(462) 评论(0) 推荐(0) |

摘要:统计手机号耗费的总上行流量、下行流量、总流量(序列化) 统计总上行流量、总下行流量。 数据准备 输入数据格式: 数据格式:时间戳、电话号码、基站的物理地址、访问网址的ip、网站域名、数据包、接包数、上行/传流量、下行/载流量、响应码 输出数据格式: 1356·0436666 1116 954 207 阅读全文

posted @ 2020-04-27 15:35 MissRong 阅读(1036) 评论(0) 推荐(1) |

摘要:Shuffle机制*(一)Shuffle机制+Partition分区 一、Shuffle机制 Mapreduce确保每个reducer的输入都是按键排序的。 系统执行排序的过程(即将map输出作为输入传给reducer)称为shuffle。 二、Partition分区 问题引出: 要求将统计结果按照 阅读全文

posted @ 2020-04-27 14:46 MissRong 阅读(275) 评论(0) 推荐(0) |

摘要:【日志清洗案例】(二)MR复杂版日志清洗 数据长度大于11并且状态码是200就是成功的,400以上的就视为失败的,失败的就过滤掉。 \001是分隔符,在notepad++中按ctrl+f:可查询指定字符。 一、定义一个LoggerBean,用来记录日志数据中的各数据字段 package ETLLOG 阅读全文

posted @ 2020-04-26 15:27 MissRong 阅读(165) 评论(0) 推荐(0) |

摘要:【日志清洗案例】(一)基础版日志清洗 已知Web日志,以空格为分隔符,过滤掉长度小于等于11的信息。 一、LoggerMapper类 package ETLLOG; import org.apache.hadoop.io.LongWritable; import org.apache.hadoop. 阅读全文

posted @ 2020-04-26 14:55 MissRong 阅读(239) 评论(0) 推荐(0) |

摘要:【WordCount案例】(五)大量小文件的切片优化(CombineTextInputFormat) 一、CombineFileInputformat 合并介绍 在分布式的架构中,分布式文件系统HDFS,和分布式运算程序编程框架mapreduce。 HDFS:不怕大文件,怕很多小文件 mapredu 阅读全文

posted @ 2020-04-26 13:43 MissRong 阅读(544) 评论(0) 推荐(0) |

摘要:【WordCount案例】(四)对每一个maptask的输出局部汇总(Combiner) 需求:统计过程中对每一个maptask的输出进行局部汇总,以减小网络传输量即采用Combiner功能。 方案一 1)增加一个WordcountCombiner类继承Reducer package com.its 阅读全文

posted @ 2020-04-26 11:16 MissRong 阅读(186) 评论(0) 推荐(0) |

摘要:【WordCount案例】(三)把键值按照ASCII码奇偶分区(Partitioner) 对于Partitioner,按ctrl+h点击右侧的HashPartitioner,标准规定使用这个分区方式。 一、WordCountMapper类 package WordCount; import org. 阅读全文

posted @ 2020-04-26 10:17 MissRong 阅读(210) 评论(0) 推荐(0) |

摘要:MapReduce-【WordCount案例】(二)自己实现官方jar包操作 1.前提 1)环境变量配置好:HADOOP_HOME、JAVA_HOME、M2_HOME 2)在安装好的hadoop的bin中要有winutils.exe文件。 2.新建项目 1)改配置-pom.xml 新建一个项目--》 阅读全文

posted @ 2020-04-26 09:14 MissRong 阅读(761) 评论(0) 推荐(0) |

摘要:MapReduce-【WordCount案例】(一)准备+目录浏览+官方jar包操作 一、准备 先打开虚拟机、启动HDFS和YARN--》打开50070页面--》在/opt/目录下新建一个文件rong-->然后随便写些东西--》接下来要用MapReduce来计算指定的单词出现的个数。 二、share 阅读全文

posted @ 2020-04-23 17:49 MissRong 阅读(418) 评论(0) 推荐(0) |

摘要:InputFormat数据输入(一)Job提交流程和切片源码详解 一、job提交作业源码 1.查看Job.class源码 以下是第736行开始的waitForCompletion()源码及解释: /** *提交方法 */ public boolean waitForCompletion(boolea 阅读全文

posted @ 2020-04-23 17:12 MissRong 阅读(247) 评论(0) 推荐(0) |

博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3