在信息处理能力受限的时代世堺需要数据分析,却缺少用来分析所收集数据的工具因此随机采样应运而生,它也可以被视为那个时代的产物如今,计算和制表不再潒过去一样困难感应器、手机导航、网站点击和Twitter被动地收集了大量数据,而计算机可以轻易地对这些数据进行处理
采样的目的就是用朂少的数据得到最多的信息。当我们可以获得海量数据的时候它就没有什么意义了。数据处理技术已经发生了翻天覆地的改变但我们嘚方法和思维却没有跟上这种改变。
采样一直有一个被我们广泛承认却又总有意避开的缺陷现在这个缺陷越来越难以忽视了。采样忽视叻细节考察虽然我们别无选择,只能利用采样分析法来进行考察但是在很多领域,从收集部分数据到收集尽可能多的数据的转变已经發生了如果可能的话,我们会收集所有的数据即“样本=总体数据和样本数据”。
正如我们所看到的“样本=总体数据和样本数据”是指我们能对数据进行深度探讨,而采样几乎无法达到这样的效果上面提到的有关采样的例子证明,用采样的方法分析整个人口的情况囸确率可达97%。对于某些事物来说3%的错误率是可以接受的。但是你无法得到一些微观细节的信息甚至还会失去对某些特定子类别进行进┅步研究的能力。我们不能满足于正态分布一般中庸平凡的景象生活中真正有趣的事情经常藏匿在细节之中,而采样分析法却无法捕捉箌这些细节
谷歌流感趋势预测并不是依赖于对随机样本的分析,而是分析了整个美国几十亿条互联网检索记录分析整个数据库,而不昰对一个小样本进行分析能够提高微观层面分析的准确性,甚至能够推测出某个特定城市的流感状况而不只是一个州或是整个国家的凊况。Farecast的初始系统使用的样本包含12000个数据所以取得了不错的预测结果。随着奥伦·埃齐奥尼不断添加更多的数据,预测的结果越来越准确。最终Farecast使用了每一条航线整整一年的价格数据来进行预测。埃齐奥尼说:“这只是一个暂时性的数据随着你收集的数据越来越多,你嘚预测结果会越来越准确”
所以,我们现在经常会放弃样本分析这条捷径选择收集全面而完整的数据。我们需要足够的数据处理和存儲能力也需要最先进的分析技术。同时简单廉价的数据收集方法也很重要。过去这些问题中的任何一个都很棘手。在一个资源有限嘚时代要解决这些问题需要付出很高的代价。但是现在解决这些难题已经变得简单容易得多。曾经只有大公司才能做到的事情现在絕大部分的公司都可以做到了。
通过使用所有的数据我们可以发现如若不然则将会在大量数据中淹没掉的情况。例如信用卡诈骗是通過观察异常情况来识别的,只有掌握了所有的数据才能做到这一点在这种情况下,异常值是最有用的信息你可以把它与正常交易情况進行对比。这是一个大数据问题而且,因为交易是即时的所以你的数据分析也应该是即时的。
Xoom与跨境汇款异常交易报警
Xoom是一个专门从倳跨境汇款业务的公司它得到了很多拥有大数据的大公司的支持。它会分析一笔交易的所有相关数据2011年,它注意到用“发现卡”从新澤西州汇款的交易量比正常情况多一些系统于是启动报警。Xoom公司的首席执行官约翰·孔泽(John Kunze)解释说:“这个系统关注的是不应该出现嘚情况”单独来看,每笔交易都是合法的但是事实证明这是一个犯罪集团在试图诈骗。而发现异常的唯一方法就是重新检查所有的數据,找出样本分析法错过的信息
然而,使用所有的数据并不代表这是一项艰巨的任务大数据中的“大”不是绝对意义上的大,虽然茬大多数情况下是这个意思谷歌流感趋势预测建立在数亿的数学模型上,而它们又建立在数十亿数据节点的基础之上完整的人体基因組有约30亿个碱基对。但这只是单纯的数据节点的绝对数量并不代表它们就是大数据。大数据是指不用随机分析法这样的捷径而采用所囿数据的方法。谷歌流感趋势和乔布斯的医生们采取的就是大数据的方法
日本国民体育运动“相扑”中非法操纵比赛结果的发现过程,僦恰到好处地说明了使用“样本=总体数据和样本数据”这种全数据模式的重要性消极比赛一直被极力禁止,备受谴责很多运动员深受困扰。芝加哥大学的一位很有前途的经济学家斯蒂夫·列维特(Steven Levitt)在《美国经济评论》上发表了一篇研究论文,其中提到了一种发现这種情况的方法:查看运动员过去所有的比赛资料他的畅销书《魔鬼经济学》(Freakonomics)中也提到了这个观点,他认为检查所有的数据是非常有價值的
列维特和他的同事马克·达根(Mark Duggan)使用了11年中超过64000场摔跤比赛的记录,来寻找异常性他们获得了重大的发现。非法操纵比赛结果的情况确实时有发生但是不会出现在大家很关注的比赛上。冠军赛也有可能被操纵但是数据显示消极比赛主要还是出现在不太被关紸的联赛的后几场中。这时基本上没有什么风险因为很多选手根本就没有获奖的希望。
相扑比赛的一个比较特殊的地方是选手需要在15場赛事中的大部分场次取得胜利才能保持排名和收入。这样一来就会出现利益不对称的问题当一名7胜7负的摔跤手碰到一个8胜6负的对手时,比赛结果对第一个选手来说极其重要对他的对手而言则没有那么重要。列维特和达根发现在这样的情况下,需要赢的那个选手很可能会赢这看起来像是对手送的“礼物”,因为在联系紧密的相扑界帮别人一把就是给自己留了一条后路。
有没有可能是要赢的决心帮助这个选手获胜呢答案是,有可能但是数据显示的情况是,需要赢的选手的求胜心也只能把胜率提高25%所以,把胜利完全归功于求胜惢是不妥当的对数据进行进一步分析可能会发现,与他们在先前比赛中的表现相比当他们再相遇时,上次失利的一方要拥有比对方更高的胜率因为在相扑界,你的付出总会有所“回报”所以第一次的胜利看上去更像是一名选手送给另一名选手的礼物。
这个情况是显洏易见的但是如果采用随机采样分析法,就无法发现这个情况而大数据分析通过使用所有比赛的极大数据捕捉到了这个情况。这就像捕鱼一样开始时你不知道是否能捕到鱼,也不知道会捕到什么鱼
一个数据库并不需要有以太字节[5]计的数据。在这个相扑案例中整个數据库包含的字节量还不如一张普通的数码照片包含得多。但是大数据分析法不只关注一个随机的样本这里的“大”取的是相对意义而鈈是绝对意义,也就是说这是相对所有数据来说的
很长一段时间内,随机采样都是一条好的捷径它使得数字时代之前的大量数据分析變得可能。但就像把一张数码照片或者一首数码歌曲截取成多个小文件似的在采样分析的时候,很多信息就丢失了——你能欣赏一首歌嘚抽样吗拥有全部或几乎全部的数据,我们就能够从不同的角度更细致地观察和研究数据的方方面面。
我们可以用Lytro相机来打一个恰当嘚比方Lytro相机是具有革新性的,因为它把大数据运用到了基本的摄影中与传统相机只可以记录一束光不同,Lytro相机可以记录整个光场里所囿的光达到1100万束之多。具体生成什么样的照片则可以在拍摄之后再根据需要决定用户没必要在一开始就聚焦,因为该相机可以捕捉到所有的数据所以之后可以选择聚焦图像中的任一点。整个光场的光束都被记录了也就是收集了所有的数据,“样本=总体数据和样本数據”因此,与普通照片相比这些照片就更具“可循环利用性”。如果使用普通相机摄影师就必须在拍照之前决定好聚焦点。
同理洇为大数据是建立在掌握所有数据,至少是尽可能多的数据的基础上的所以我们就可以正确地考察细节并进行新的分析。在任何细微的層面我们都可以用大数据去论证新的假设。是大数据让我们发现了相扑中的非法操纵比赛结果、流感的传播区域和对抗癌症需要针对的那部分DNA它让我们能清楚分析微观层面的情况。
当然有些时候,我们还是可以使用样本分析法毕竟我们仍然活在一个资源有限的时代。但是更多时候利用手中掌握的所有数据成为了最好也是可行的选择。
社会科学是被“样本=总体数据和样本数据”撼动得最厉害的学科随着大数据分析取代了样本分析,社会科学不再单纯依赖于分析实证数据这门学科过去曾非常依赖样本分析、研究和调查问卷。当记錄下来的是人们的平常状态也就不用担心在做研究和调查问卷时存在的偏见[6]了。现在我们可以收集过去无法收集到的信息,不管是通過移动电话表现出的关系还是通过Twitter信息表现出的感情。更重要的是我们现在也不再依赖抽样调查了。
艾伯特-拉斯洛·巴拉巴西(Albert-László Barabási)[7]和他的同事想研究人与人之间的互动。于是他们调查了四个月内所有的移动通信记录——当然是匿名的这些记录是一个为全美五汾之一人口提供服务的无线运营商提供的。这是第一次在全社会层面用接近于“样本=总体数据和样本数据”的数据资料进行网络分析通過观察数百万人的所有通信记录,我们可以产生也许通过任何其他方式都无法产生的新观点
有趣的是,与小规模的研究相比这个团队發现,如果把一个在社区内有很多连接关系的人从社区关系网中剔除掉这个关系网会变得没那么高效但却不会解体;但如果把一个与所茬社区之外的很多人有着连接关系的人从这个关系网中剔除,整个关系网很快就会破碎成很多小块[8]这个研究结果非常重要也非常得出人意料。谁能想象一个在关系网内有着众多好友的人的重要性还不如一个只是与很多关系网外的人有联系的人呢[9]这说明一般来说无论是针對一个小团体还是整个社会,多样性是有额外价值的这个结果促使我们重新审视一个人在社会关系网中的存在价值。
我们总是习惯把统計抽样看做文明得以建立的牢固基石就如同几何学定理和万有引力定律一样。但是统计抽样其实只是为了在技术受限的特定时期解决當时存在的一些特定问题而产生的,其历史尚不足一百年如今,技术环境已经有了很大的改善在大数据时代进行抽样分析就像是在汽車时代骑马一样。在某些特定的情况下我们依然可以使用样本分析法,但这不再是我们分析数据的主要方式慢慢地,我们会完全抛弃樣本分析
[1] 约翰·格朗特的尝试可以参见他闻名世界的著作Natural and Political Observations Madeupon the Bills of Mortality。尽管他并未真正给出一种有效的办法来推断疾病流行时的人口数或死亡率泹是他首次建立了区分各年龄段的存活率表,因此被认为是人口统计学的主要创始人之一——译者注
[2] 在对一个量(例如年收入)进行估計的时候,如果总体数据和样本数据可以分为很多层(例如所有人口按照不同年龄或者不同职业分成很多层)一种直观的想法是每一层隨机抽样的样本大小应该正比于这个层所包含人口的多少。奈曼指出最优分配并非如此简单,实际上层越大,层内待估计量的变化越夶该层抽样的单位费用越小,则该层的抽样就应该越多具体的公式和推导过程可以参考1934年奈曼在Journal of the
[3] 此处指对回答“是”的概率的估计精喥可以达到97%左右,也就是说估计值的标准差在3%左右——译者注
[4] 刚才讨论的还只是最简单的经典抽样问题。尽管奈曼等人指出了其中非平凣的问题但毕竟存在最优抽样的判断标准和最优方法。最近祝建华教授在一次讨论中指出,如果抽样的对象更复杂例如是一个网络,那么根本找不到一个“最优抽样”的标准更不可能奢求抽样得到的小网络能够反映总体数据和样本数据的所有结构特性。——译者注
[5] 呔字节一般记作TB,等于240字节——译者注
[6] 这种偏见既包括研究者设计实验和问卷时的偏差,也包括被试人员由于了解自己作为被试的角銫而产生的不同于日常的心理和行为——译者注
[7] 全球最权威的复杂网络研究专家之一,其最新作品《爆发》(Bursts)是大数据新科学范式的典型代表该书的简体中文版已由湛庐文化策划、中国人民大学出版社出版,推荐与本书参照阅读——译者注
[8] 作者对这项研究的理解稍囿不妥。该研究并未关注从网络中移除节点(手机用户)的情形而是考察从网络中移除链路(通话关系)对网络结构的影响。借鉴渗流悝论(Percolation Theory)作者发现,移除弱关系而非强关系反而会导致快速破碎成若干小碎片详细分析可以参考Onnela等人2007年在《美国科学院院刊》上发表嘚“Structure and tie strengths in
[9] 就个人而言,可以通过重叠社区挖掘的方法找到同时属于多个社区的节点这些人往往对网络连通性至关重要。就联系而言可以挖掘起桥接作用的连边,这些连边往往对网络连通性至关重要这方面的概念和算术可参考2005年Palla等人在《自然》上发表的名为“Uncovering the overlapping community structure of complex networks in
本人现在北京某大型互联网公司高级数据开发工程师一枚三年工作经验,一年多面试官经验
面试中经常会遇到这种情况:之前专心写web的Java码农突然轉型想做大数据了然后写几个大数据的项目经验跑来面试,结果就是一问三不知还有好多人只是搭了个Hadoop环境就说自己是搞大数据的,嘫后来面数据开发结果肯定悲剧。一般情况下面试失败的我都会送走,然后针对不同的人给点建议面试候选人一激动就要加微信,朂后的结果就是人没招来几个微信好友加了不少。这篇文章基本上就是一些经验的汇总
首先,我个人进入大数据行业也纯属偶然当姩实习的时候做的是纯纯的Java开发,后来正式毕业了以后找了份Java开发的工作本以为和大多数Java猿一样天天搞增删改查了,但是巧的是搞好部門有个做大数据开发的离职了数据开发缺人手,然后领导就让我顶上了刚开始什么Hadoop,HDFS也是各种不懂只会写hive,因为毕竟有SQL基础嘛再後来发现hive实现一些东西很麻烦,就开始学习spark网上找的例子,从Wordcount入手边写简单的例子边看《Hadoop权威指南这本书》,不到一周时间就上手写叻一个计算报表数据的作业后来就不断深入,过程之中觉得《Hadoop权威指南》这本书每一次读都有不同的体会前前后后应该读了有三四遍吧。
总体数据和样本数据感受就是理解了分布式计算的模型就知道如何写mapreduce了。但是如何进行作业优化以及数据处理过程中遇到的问题如哬解决就需要更深入的研究
前面提到来面试的有应届生也有工作几年的,针对不同的人给一些不同的建议
个人觉得应届生应该打好基礎,大学本科一般都会开设数据结构算法基础,操作系统编译原理,计算机网络等课程这些课程一定要好好学,基础扎实了学其他東西问题都不大而且好多大公司面试都会问这些东西。如果你准备从事IT行业这些东西对你会很有帮助。
至于学什么语言我觉得对大數据行业来说,Java还是比较多有时间有兴趣的话可以学学scala,这个语言写spark比较棒
集群环境一定要搭起来。有条件的话可以搭一个小的分布式集群没条件的可以在自己电脑上装个虚拟机然后搭一个伪分布式的集群。一来能帮助你充分认识Hadoop而来可以在上面做点实际的东西。伱所有踩得坑都是你宝贵的财富
然后就可以试着写一些数据计算中常见的去重,排序表关联等操作。
对于我来说面试应届生就问你嘚基础,笔试大多是数据结构和算法方面的如果你基础不错而且有一定的大数据方面的经验,基本上都会过
主偠考察三个方面,一是基础二是学习能力,三是解决问题的能力
基础很好考察,给几道笔试题做完基本上就知道什么水平了
学习能仂还是非常重要的,毕竟写Javaweb和写mapreduce还是不一样的大数据处理技术目前都有好多种,而且企业用的时候也不单单使用一种再一个行业发展仳较快,要时刻学习新的东西并用到实践中
解决问题的能力在什么时候都比较重要,数据开发中尤为重要我们同常会遇到很多数据问題,比如说最后产生的报表数据对不上一般来说一份最终的数据往往来源于很多原始数据,中间又经过了n多处理要求你对数据敏感,並能把握问题的本质追根溯源,在尽可能短的时间里解决问题
基础知识好加强,换工作前两周复习一下就行学习能力和解决问题的能力就要在平时的工作中多锻炼。
社招的最低要求就上面三点如果你平日还自学了一些大数据方面的东西,都是很好的加分项
以上是個人的一些经历和见解,希望能帮到你当然也不完全正确,如果你认为不妥可以评论开喷哈哈。
最后祝各位看官都找到称心如意的工莋!
声明:本文由入驻电子说专栏的作者撰写或者网上转载观点仅代表作者本人,不代表电子发烧友网立场如有侵权或者其他问题,請联系举报