第四部分所有的模式涉及一个共同点: 不会改变原有的记录。 这些模式都是寻找数据子集的,不管结果集的规模是小(top10)还是大(像去重结果)。 与第三部分差异是,他们通过对数据的相思子端坐概要与分组来得到数据的高层次视图的。 而过滤更关注理解较小的数据。


    简单随机抽样 :是过滤的一个常见应用,比如提取某字段最高记录,或者随机抽取几条。   抽样可以用来得到 更小的,更具有代表性的数据子集。 很多机器学习算法在大数据集上运行不够高效,所以需要为提取较小的数据子集创建新的模式。
        当选取的比例是一个很小值的时候,你会在输出结果中发现大量的小文件,如果遇到这种情况
                    1 可以设置 reduce 数目为1, 并且不指定 reduce 类。 这就是要求 MapReduce 框架使用一个 identity reduce 简单的手机输出并写到一个文件中。
                    2 hdfs dfs -cat 将输出文件收集到一起。

    布隆过滤        :  对每一条记录抽取其中一个特征,如果特征是布隆过滤器集合中的成员或非成员就保存或丢弃。   作用是预先判定值列表成为热门值的集合( hot values);
                    使用步骤:1 布隆过滤器训练,2 使用布隆过滤器
       布隆过滤使用场景1:
            给定一个用户评论列表,过滤掉声望值小于1500的用户 发出的评论。
            Mapper.setup(){ bloomFilter()} :  在所有 mapper() 执行之前,会先执行 setup()。  在 setup() 中用 布隆过滤器 过滤不属于bloomFilter方法过滤 1500 的用户ID。 bloomFilter 初始化后,setup 会产生一个 HBase 表的连接。
            Mapper.mapper() : 数据通过 bloomFilter() 过滤后 继续使用 ID 到 HBase 进行查询。。

       布隆过滤使用场景2:
            需要一个全量的两个百亿级文件的对比 A 文件百亿行 B 文件百亿行。 每行字符串大小在50KB。
            Mapper.setup(){ bloomFilter }  这里的 bloom 过滤器作用是 将每行 50KB的数据进行压缩 变成一个 shar1 或者 MD5 这样便于存储在内存内,而不至于撑爆内存。

    Top10           :

        Top10场景: 异类分析、 热点分析

            特性: 1 Top 方式的分界线是模糊的。 优势 不必全部排序。   如 hive select x from xxx  desc limit 10.
                       2  需要配置 作业为 一个 reduce 。

            Map code :  
                            1 map() 创建一个 TreeMap 
                            2 map() 添加数据进入 TreeMap。  每次判断是否大于10  大于10 则 treeMap.remove(treeMap.firstKey());
                            3 cleanup() 中遍历 TreeMap数据。 循环写出。  等待 Reduce shuffer


                        

    去重               :
                这个不难理解,就是去除重负记录,MR结构式  M 做数据转换,利用 combiner 做去重,reduce

          使用场景:
                1 数据去重  2 抽取重复值  3 规避内连接的数据膨胀。(如果你在两个数据集之间做一个内连接,并且外检不唯一,  数据A 3000个  数据B 2000 个 最终将是 6 百万记录。 这么多的记录将会集中发给 reduce。 通过使用去重。可以减轻数据膨胀)。

            性能:
                主要考虑 reduce 数目。  从 map 过来的字节数取决于 conbiner 可以消除多少数据。 如果重复记录少见,差不多所有数据都会发送到 reduce 端。  最好的情况是每个 reduce 收到的记录量不小于一个 block 大小。 对于非常大的数据集,可以考虑两倍于集群 reduce 槽容量的大小。

            MR code:比如一个只关心用户ID去重。  用户ID 做键, null 作为值。
                    M : 将数据读取,ID左键, null 做值。
                        job中 设置 combiner。  重复键移除
                    R   : 得到去重 ID 后的操作。
        










    

四 过滤模式 map Only - 作业完成 bloomFilter、top10、去重的更多相关文章

  1. 设计模式 ( 十四 ) 迭代器模式Iterator(对象行为型)

      设计模式 ( 十四 ) 迭代器模式Iterator(对象行为型) 1.概述 类中的面向对象编程封装应用逻辑.类,就是实例化的对象,每个单独的对象都有一个特定的身份和状态.单独的对象是一种组织代码的 ...

  2. BUAA_OO第四单元总结性博客作业——UML(Floyd实现规则检查?)

    一.架构设计 1.UML第一次作业——类图 第一次作业基于不同element在UML规格中的从属关系来设计架构.继承了UmlInteraction接口的MyUmlInteraction类是主要的交互层 ...

  3. Hibernate 查询MatchMode的四种模式

    Hibernate 查询MatchMode的四种模式 MatchMode.START:字符串在最前面的位置.相当于"like 'key%'" MatchMode.END:字符串在最 ...

  4. Android 文件访问权限的四种模式

    Linux文件的访问权限* 在Android中,每一个应用是一个独立的用户* drwxrwxrwx* 第1位:d表示文件夹,-表示文件* 第2-4位:rwx,表示这个文件的拥有者(创建这个文件的应用) ...

  5. 对称加密和分组加密中的四种模式(ECB、CBC、CFB、OFB)

    一. AES对称加密: AES加密 分组 二. 分组密码的填充 分组密码的填充 e.g.: PKCS#5填充方式 三. 流密码:   四. 分组密码加密中的四种模式: 3.1 ECB模式 优点: 1. ...

  6. Asp.net的sessionState四种模式配置方案

    sessionState节点的配置 web.config关于sessionState节点的配置方案,sessionState有四种模式:off,inProc,StateServer,SqlServer ...

  7. OAuth2简易实战(一)-四种模式

    1. OAuth2简易实战(一)-四种模式 1.1. 授权码授权模式(Authorization code Grant) 1.1.1. 流程图 1.1.2. 授权服务器配置 配置授权服务器中 clie ...

  8. LVS 原理(调度算法、四种模式、四层负载均衡和七层 的区别)

    参考文档:http://blog.csdn.net/ioy84737634/article/details/44916241 目录 lvs的调度算法 lvs的四种模式 四层均衡负载和七层的区别 1.l ...

  9. AES加密的四种模式详解

    对称加密和分组加密中的四种模式(ECB.CBC.CFB.OFB) 一. AES对称加密:                                                       A ...

随机推荐

  1. sqluldr2linux64.bin的使用

    使用sqluldr2linux64.bin的前提是已经安装了Oracle数据库,sqluldr2linux64.bin和Oracle在同一台主机上使用,使用之前需要赋予可执行权限: [root@nod ...

  2. HDU 3015 Disharmony Trees 【 树状数组 】

    题意:给出n棵树,给出横坐标x,还有它们的高度h,先按照横坐标排序,则它们的横坐标记为xx, 再按照它们的高度排序,记为hh 两颗树的差异度为 abs(xx[i] - xx[j]) * min(hh[ ...

  3. ActiveMQ学习笔记(16)----Message Dispatch高级特性(二)

    1. Optimized Acknowledgetment ActiveMQ缺省支持批量确认消息,由于批量确认会提高性能,如果希望在应用程序中禁止经过优化的确认方式,可以采用以下几种方式: 1. 在C ...

  4. [洛谷P1892][codevs2597]团伙

    题目大意:有n个强盗,他们有这样的关系:1.朋友的朋友是朋友:2.敌人的敌人是朋友. 两个人是朋友,则他们在一个团伙中,是敌人则在不同团伙中. 现在给出一些朋友或敌人的关系,问最多有多少团伙.输入保证 ...

  5. [洛谷P1920]成功密码

    题目大意:给你n和x($n\leq 10^{18},0<x\leq 1$),要你求$\sum_{i=1}^n\frac{x^i}{i}$. 解题思路:首先n大到要用long long存,暴力肯定 ...

  6. [洛谷P1352][codevs1380]没有上司的舞会

    题目大意:某大学有N个职员,编号为1~N.他们的关系就像一棵以校长为根的树,父结点就是子结点的直接上司.现在有个周年庆宴会,宴会每邀请来一个职员都会增加一定的快乐指数Ri,但如果某个职员的上司来参加舞 ...

  7. 1.1 Python for macOS 安装与配置

    本文主要讲解在macOS系统下的Python3.7.0的配置与安装问题 并调试好开发环境 目标是编辑成功第一个python程序 下载最新版(3.7.0)Python macOS系统自带python 不 ...

  8. 紫书 例题8-4 UVa 11134(问题分解 + 贪心)

     这道题目可以把问题分解, 因为x坐标和y坐标的答案之间没有联系, 所以可以单独求两个坐标的答案 我一开始想的是按照左区间从小到大, 相同的时候从右区间从小到大排序, 然后WA 去uDebug找了数据 ...

  9. 【BZOJ 1089】[SCOI2003]严格n元树

    [链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 设fi表示深度为i的树个数,si是fi的前缀和,即si为深度不超过i树的个数. 那么si=s[i-1]^n + 1 就是说 先选一个 ...

  10. SJTU 1319. countColors

    题目描写叙述 知道 psypaint 怎么用吗?在巫女系统全面普及的未来世界.非常少人会知道 psypaint 的使用方法. 而身处在公安局作为监视官的朱同学.为了办案须要研究起了 psypaint ...