找工作——大数据的处理方式

1. top K问题:在海量数据中找出出现频率最高的前K个数、或从海量数据中找出最大的前K个数,这类问题统称为top K问题。

针对top K类问题,通常比较好的方式是分治+hash+小顶堆

eg:在1亿个浮点数中找出其中最大的10000个。

方法一:排序取出前10000个。  每个float占4B,1亿个浮点数400MB,对于内存小于400MB的该方法不能一次将全部数据读入内存进行排序,而且排序是对所有元素进行排序,做了很多无用功。

方法二:局部淘汰法。 用一个容器保存前10000个数,然后将剩余数字一一与容器中的最小数字比较,如果所有后续的元素都比容器中10000个数还小,那么容器内的这10000个数就是最大的10000个数。若某一后续元素比容器内的最小元素大,则删除掉容器内的最小元素,并将该元素插入容器,最后遍历完这1亿个数,得到结果容器中保存的数即为最终结果。

方法三:分治法。  将1亿个数据分成100份,每份100万,找出每份数据中最大的10000个,最后在100*10000个数据里面找出最大的10000个。如果100万选的足够理想,那么可以滤掉1亿数据里面99%的数据。

方法四:最小堆。 先读10000个数据构造大小为10000的小顶堆,然后遍历后续的数字,并与堆顶(最小)数字进行比较,若比最小的数字小,则继续读取后续数字;若比堆顶数字大,则替换堆顶元素并重新调整堆为小顶堆。直到1亿个数据遍历完毕。

如果在求1亿个出现次数最多的100个数,MapReduce  直接将数据均分到不同的机器上进行处理是无法得到正确结果,由于一个数据可能被分到不同的主机上,而另一个完全可能狙击到一个机器上。

2. 重复问题:在海量数据中查找重复出现的元素或者去除重复出现的元素。针对此类问题,一般可以用位图法实现。 例如:已知某个文件中包含一些电话号码,每个号码为8位,统计不同号码的个数。

解决办法:8位整数可以表示的最大十进制数值为99999999,如果每个数字对应位图中的一个为,那么存储八位整数大约需要99Mbit,因为1Byte=8bit,所以99Mbit折合成内存为99/8=12.375MB的内存,既可以使用12.375的内存表示所有8位数电话号码的内容。

3. 排序法:海量数据排序。 例如:针对一个文件中有9亿条不重复的整数,对这个文件中数字进行排序。

方法一:位图法

时间: 2024-08-12 18:56:36

找工作——大数据的处理方式的相关文章

C# & SQL Server大数据量插入方式对比

以下内容大部分来自: http://blog.csdn.net/tjvictor/article/details/4360030 部分内容出自互联网,实验结果为亲测. 最近自己开发一个向数据库中插入大量历史数据的函数库,需要解决一个大数据量插入的效率问题.不用分析,我知道如果采取逐条数据插入的方式,那么效率肯定很低,光是那么多循环就知道很慢了.于是乎,我找到了上篇博客,知道了BulkCopy和TVPs方式.为了更好的了解其效率,我自己动手亲测了一下效果,测试的数据库位于本机. (1)方式1:循环

大数据拆分处理方式

思路: 1:参考分页方式将数据拆成指定大小线程数 2:在每个独立的线程中去读取数据并处理数据 步骤一实现 public class IndexIntiTools { public static AtomicInteger runflag=new AtomicInteger(); //用于测试 public static List<Object> syncList=new CopyOnWriteArrayList<Object>(); private static int idxTh

大数据技术之_18_大数据离线平台_01_项目开发流程+大数据常用应用/分析平台/业务处理方式+数据分析平台的数据来源+数据处理的流程+项目集群的规模+需求分析+技术架构/选型

一.项目开发流程1.1.项目调研1.2.项目需求分析1.3.方案设计1.3.1.概要设计1.3.2.详细设计1.4.编码实现1.4.1.单元测试1.4.2.集成测试1.4.3.压力测试1.4.4.用户测试二.大数据常用应用2.1.数据出售2.2.数据分析2.2.1.百度统计2.2.2.友盟2.2.3.其他统计分析组织2.3.搜索引擎2.3.1.solr2.3.2.luence2.3.3.luence & solr 对比2.4.推荐系统(高数)2.4.1.技术2.4.2.算法2.5.精准营销2.5

大数据的两种处理方式

大数据的处理方式有两种:基于内存的流式处理和基于硬盘的存储处理. 流式处理就好象是在经过的数据面前建一道水闸.数据流过这里,经过闸门的时候,就进行筛选过滤,分析出有价值的内容,然后丢弃,以后也不再使用. 存储处理则是建一个储水池.数据先放进入储水池存起来,需要的时候,再进到储水池里,在里面筛选分析,找到那些有价值的内容.这个过程中,因为水还在储水池里,没放掉,所以可以供下次继续使用. 存储模式的数据处理是可以重复的,用完再用,反复使用.但是因为硬盘本身的机械特性问题,导致它处理速度慢,速率不高.

了解大数据的特点、来源与数据呈现方式

1.浏览2019春节各种大数据分析报告 这世间,再无第二个国家有能力承载如此庞大的人流量.http://www.sohu.com/a/290025769_313993 春节人口迁徙大数据报告!http://www.sohu.com/a/293854116_679156 春节大数据:消费首破万亿 最佳伴手礼竟是教辅书? http://news.163.com/19/0211/19/E7OPDBBU0001899N.html 大数据中的春节http://www.xinhuanet.com/polit

大数据的特点、来源与数据呈现方式

一.分析数据的来源: 1.BBC拍春节纪录片<归乡>: (1).全国各地的汽车.火车.高铁.飞机等交通运输的客运站获取数据: (2).网上各个订票系统中获取数据. 2.春节人口迁徙大数据报告: (1).腾讯地图中获取人们使用的数据 (2).全国各地的汽车.火车.高铁.飞机等交通运输的客运站获取数据. 3.春节大数据:消费首破万亿,最佳伴手礼竟是教辅书: (1).淘宝.京东这些购物平台的数据: (2).中国银联的数据: (3).微信支付的数据: (4).猫眼电影数据. 4.大数据中的春节: (1

随笔一:大数据的特点、来源与数据呈现方式

浏览2019春节各种大数据分析报告 春节人口迁徙大数据报告! 分析所采用数据的来源有哪些? 交通运输部公布的数据.腾讯地图.腾讯位置服务.2017年主要城市流动人口排行.2017年主要城市人口排行.<中国流动人口发展报告2018>.三大城市群省际流动人口主要来源地图.春节北京.上海.广州人口迁出流量图.中国人口流动出现四大趋势.2019携程大数据.携程问卷调查. 大数据的呈现方式有哪些? 统计图.问卷调查.流量图.论文报告. 大数据的特点是什么? 数据体量巨大.数据类型繁多.价值密度低.处理速

2016——大数据版图

编者注:原文是 FirstMark Capital 的 Matt Turck 的文章.本文全面总结了大数据领域的发展态势,分析觉得虽然大数据作为一个术语似乎已经过气.可是大数据分析与应用才刚刚開始兴起,在与 AI.人工智能等新兴技术的结合下,大数据的机会或许要比大家想象的还要大.2016年 大数据版图高清版可到此处下载. 在喜新厌旧的技术初创企业界.已有 3年 历史 "大数据" 听起来似乎已经过气了. 尽管 Hadoop 在 2006年 已经出来.但 "大数据" 这

智能大数据SMART准则(读书笔记)

引言部分 1.智能渔业 将微型传感器安置到鱼身上,用意追踪任何特定时间的鱼群位置,并运用声呐探测鱼群密度以及何时何地撒网 2.智能运动 英式橄榄球队员都有一个GPS追踪系统,使得假脸人员能够知道每一个队员的情况 3.智能保健 类似Ginger.io等云服务以及可以通过消费则手机中安装的应用,检测患者的身体情况.Proteus公司制作的一款尺寸只有一粒沙大小的"可吞服"传感器,可以追踪患者服药的时间和方式 4.智能家居 来生长谈了 5.智能恋爱 通过大数据分析,得到模型,再通过模型对所有