说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

《Hadoop核心技术》作者翟周伟 :我与Hadoop的不解之缘

HTML文档下载 WORD文档下载 PDF文档下载
翟周伟,资深Hadoop技术专家,《Hadoop开源云计算平台》、《Hadoop核心技术》作者。日前,CSDN记者对他进行了采访,请他解读Hadoop发展现状、特性及发展前景,以及这一路走来的心路历程。

翟周伟,资深Hadoop技术专家,专注于Hadoop&大数据,数据挖掘,自然语言处理领域,目前就职于百度。2009年,利用Hadoop构建商业级大数据系统,是国内该领域最早的一批人之一;负责设计多个基于Hadoop的大数据平台和分析系统;2011年合著出版《Hadoop开源云计算平台》,并在自然语言处理领域申请过一项发明专利;2015年,完成著作《Hadoop核心技术》一书。

日前,CSDN记者采访了翟周伟,请他解读Hadoop发展现状、特性及发展前景,分享创作《Hadoop核心技术》一书的灵感来源以及经验感悟。


翟周伟:不断学习、不断思考,享受一章一节带来的喜悦

CSDN:首先请介绍下自已、目前所在公司以及负责的领域。

翟周伟:北京邮电大学研究生毕业,目前任职于百度,主要从事网页搜索相关的大规模数据挖掘和自然语言处理领域相关研发工作。

CSDN:Hadoop在百度主要运用在哪些领域?使用情况是怎样的?

翟周伟:Hadoop在百度的应用领域主要包括:大数据挖掘与分析,日志分析平台,数据仓库系统,用户行为分析系统,广告平台等存储与计算服务。

目前百度的Hadoop集群规模已经超过数十个至多,单集群节点数目超过5000台,每天处理的数据量超过8000TB。同时百度在Hadoop的基础上还开发了自己的日志分析平台、数据仓库系统,以及统一C++编程接口,并对Hadoop深度改造,开发了性能更强的HCE(Hadoop C++ Extend Systerm)系统。

邂逅Hadoop

CSDN:你是从什么时候开始接触Hadoop?作为一名Hadoop技术专家最吸引你的是什么?有没有背后的故事分享给大家?

翟周伟:我从2009年9月份开始接触Hadoop,Hadoop已经成为工业界大数据领域的事实标准,最吸引我的是最初Hadoop在大数据处理领域给我的震感,因为在使用Hadoop之前如果要处理上百TB的数据是一件非常困难的事情,首先需要考虑如何将这些数据存储下来,然后还需要考虑如何划分,以及数据容错性等复杂问题,而要完成这样的工作没有1个月的时间是很难搞定的,但是在Hadoop的帮助下一天甚至几个小时就可以完成从程序开发到最终数据产出,而且想想自己可以在很短的时间内操作成千上百台的集群来处理上百TB的数据,还是很震撼的。

CSDN:在国内,你是利用Hadoop构建商业级大数据系统领域最早的人选之一,可以说是敢于吃螃蟹的第一人。那么,你是如何成为核心成员的?在开发期间有没有遇到过什么困难?又是如何克服的?

翟周伟:早在2009年的时候我们就尝试使用Hadoop技术为中国电信研究院,移动研究院等机构构建大数据云平台并作为生产平台为线上业务提供云存储与计算分析服务。这在当时来讲是国内将Hadoop落地应用的最早实践者之一。

在最初参与开发这些项目的时候我还并不是核心成员,而我要做的就是在项目中不断学习并积累Hadoop和大数据相关知识,最重要的就是在项目开发过程中证明自己,证明自己有足够的知识积累和能力完成项目并超出预期,当然在这个过程中也会遇到一些困难和挫折,例如数据的产出和预期不符,系统性能遇到瓶颈等问题,在面对这些问题的时候首先就是不能怕,对自己能解决这些问题要有足够的信心,然后就是认真分析问题,一步一步DEBUG定位问题,最终就可以解决掉这些问题,这也是一个艰苦的工作,不过我更享受成功后的那种喜悦之情,因为我喜欢技术挑战。

Hadoop发展现状、特性及发展前景

CSDN:你怎么看待国内外的Hadoop发展现状?可否预测下Hadoop未来的发展前景?

翟周伟:目前Hadoop可以说是已经成为工业界大数据领域的事实标准,在国外主要以Yahoo、Facebook、EBay、IBM等为代表;在国内则以百度、腾讯、阿里等互联网公司为主。而Hadoop作为开源软件,这些大公司的使用和改进迭代进而又完善并推动Hadoop的进一步发展,因此Hadoop的发展是离不开这些互联网公司的使用,从本质上看还是因为互联网的快速发展导致了海量数据的分布式存储和计算需求,而Hadoop正是为这样的需求提供了非常好的解决方案。

对于Hadoop的发展前景我从以下几个方面谈谈:

第一个方向就是统一资源管理与调度方向,目前各大互联网公司商用的Hadoop集群还是以Hadoop-1.X版本为主,Hadoop-1.X版本的有效性和稳定性已经得到验证,但是Hadoop-1.X也存在很多问题,例如资源分配以槽位为基本单元,没有考虑到应用实际需要的内存,CPU等资源;还有就是Hadoop-1.X仅仅只支持MapReduce模型,计算资源利用率不高,一个MR任务只能包含一个map和一个reduce任务,而实际需求往往是一个DAG任务。针对这些问题社区版Hadoop-2.X提出了YARN框架,在资源管理层来解决这些问题,同时各大商用发行版以及互联网公司也提出类似的框架来解决Hadoop-1.X中的问题。

第二个发展方向就是Hadoop高可用性解决方案,目前的Hadoop还是单Master节点设计,因此集群的规模受到主节点的硬件配置限制,同时可靠性上存在单点故障(SPOF )问题,这一点目前各大Hadoop商业发行版以及各大互联网公司都在研发多Master节点设计的解决方案,因此也是未来重点方向。

第三个发展方向就是Hadoop生态系统集成,目前Hadoop已经发展为一个完备的生态系统,这个生态系统最底层以HDFS和MapReduce为核心,上层为各种存储,计算,分析等应用系统,如何将这些系统很好的集成起来形成一个类似完善的分布式操作系统和云计算应用系统是一个非常诱人的发展方向。

第四点就是灵活性上,目前的Hadoop为用户提供了非常便利的并行计算框架,但是这个框架本身的流程过于复杂,用户实际的需求往往很简单,例如Hadoop中在map的输出和reduce的输入都需要进行排序,而实际上并不是所有的任务都需要排序,因此对于那些不需要排序的应用就会造成资源的浪费又消耗了时间。如果可以提供是否配需的可控制参数就可以很好的解决类似的问题。因此Hadoop的灵活性上也是一个发展方向。

CSDN:Hadoop与Spark相比,两者之间有哪些异同点?各自的优势是什么?此外,Hadoop与Spark都支持容错性,Spark在容错性方面是否比Hadoop更具优越性?你怎么看?

翟周伟:在基本原理上:Hadoop和Spark最大的区别在于Hadoop是基于磁盘的大数据批处理系统;而Spark是基于弹性分布式数据集(RDD,显式地将数据存储到磁盘和内存中)。在模型上,Hadoop以MapReduce模型为核心,而Spark除了map和reduce函数操作之外的很多函数操作,诸如join、groupBy、reduceByKey等。

在优势上,Hadoop可以处理超大规模的数据,适合日志分析挖掘等较少迭代的长任务需求,同时Hadoop很好的结合了数据的分布式存储和计算;而Spark适合数据挖掘,机器学习等多轮迭代式计算任务,Spark本身并没有提高数据的分布式存储解决方案,还需要依赖HDFS等第三方存储系统。

在容错性上需要考虑两个方面,第一就是数据容错性;第二就是节点容错性。Hadoop在数据容错性上考虑的很全面,从HDFS本身的冗余复制机制,到安全模式,数据校验,元数据保护,快照机制等,在节点容错性上Hadoop从资源调度层次来解决。而Spark在数据容错性上是建立在RDD概念之上,当一个节点出现故障时,Spark会根据存储信息重新构造数据集。因此Spark在容错性上并不比Hadoop具有优越性,应该是在容错性上Hadoop考虑的更全面,而Spark更加在意处理数据的效率和响应时间。

CSDN:Hadoop已经成为大数据工业级的标准,有很多组件,比如Hive、Hbase、HDFS等,能说说各自的优缺点以及适合的场景吗?

翟周伟:优缺点以及适应场景如下表格:

 

Hive

Hbase

HDFS

优点

提供了类似SQL的 HiveQL语言进行数据查询。

基于HDFS以多维度排序的映射表形式,key-value存储检索非常高效。

接口简单,使用方便。

缺点

延时大,大规模数据后置处理,数据的前置处理比较简单使得数据预处理不充分。

不支持SQL类似语法,在实时性处理方面不如传统关系数据库。

随机读写性能较差。

适合场景

适应T、P 规模的数据分析。

适合于非结构化数据存储的分布式数据库。

适合一次写入多次读取的场景。

写书感悟——书中自有黄金屋

CSDN:2011年你参与著作了《Hadoop开源云计算平台》,今年你又著写了《Hadoop核心技术》,是什么机缘让你想到要写这本书的?

翟周伟:在2011年《Hadoop开源云计算平台》出版之后可以说是当时国内国人写的第一本Hadoop技术丛书,但是当时这本书编写的时间较为仓促同时相对较为简单,而后2011年8月多进入百度之后发现Hadoop技术在互联网公司内部已经大规模使用,而大多数研发人员都不是很熟悉Hadoop技术的使用,因为我就萌发了再编写一本较为全面又有实战讲解的相关书籍。

CSDN:《Hadoop核心技术》这本书历时多久完成著作的?主要适合哪些开发者?在撰写此书中给你留下最深的感悟是什么?

翟周伟:《Hadoop核心技术》这本书历时2年完成,主要适合大数据Hadoop研发人员、Hadoop应用开发人员、Hadoop运维管理人员等。

撰写此书中给我留下最深的感悟就是理解一门技术和使用专业的术语并且用通俗易懂的语言将所理解的技术讲解出来是有很大不同的,而在这个写作过程中也是我自己不断深入学习提高的一个过程。

CSDN:你如何在进度压力下,享受写书带来的快乐?

翟周伟:写作是一个再创作的过程,因此需要大量的时间进行思路梳理,语言组织,然后才能进行真正的写作,而这些工作时要在工作之余利用空闲时间完成的,因此进度压力还是蛮大的,但是这个过程也是自己不断深入学习,不断思考的过程,而且想想自己的书要被上千上万的读者学习还是很有动力的,每当完成一张一节的时候都可以带给我一个喜悦,而我本身也是享受这样的快乐的。

CSDN:在日常生活中你是通过哪些方式来提升自己技能的?平时的生活节凑是怎样的?

在日常生活工作中我主要还是通过项目实战来提升自己技能的,当发现自己不懂的原理细节时我首先想到的是从相关英文文献或者书籍中了解基本原理,然后阅读源码来进一步深入理解。

平时的生活还是挺紧张的,因为搞互联网的几乎很少有不加班的,而百度的项目安排期往往比较紧,这样留个自己的空闲业余时间就很少了,因此我通常也会很珍惜业余空闲时间。

CSDN:给学习Hadoop集群方面的开发者分享些经验吧。

翟周伟:首先搞清楚什么是Hadoop以及Hadoop可以用来做什么,可以查阅相关网站介绍或者Hadoop综述相关论文文献资料等。

然后,可以从最经典的词频统计程序开始,初步了解MapReduce的基本思路和处理数据的方式。这里建议大家直接浏览Hadoop的官方网站上WiKi文章,并按照WiKi一步一步完成实例的理解和学习。

接着,就可以正式学习Hadoop的基本原理,包括HDFS和MapReduce,先从整体,宏观核心原理看,先别看源码级别。建议这块先阅读Google的相关两篇核心论文:《The Google File System》、《MapReduce: Simplied Data Processing on Large Clusters》;进一步,就可以深入HDFS、MapReduce和模块细节,这个时候可以结合源码深入理解,以及实现机制。

最后就是需要实战了,可以结合自己的项目或者相关需求来完成一些Hadoop相关应用,建议一些比较经典的Hadoop英文原版技术相关丛书:《Hadoop TheDefinitive Guide》、《Hadoop inAction》、《Pro Hadoop》,以及我新出版的《Hadoop核心技术》。


CSDN现开启图书作者专访栏目,欢迎推荐采访人或自荐,来分享你的成长经历和相关技术,相关信息请发送邮件至:xiamz#csdn.net(#换成@)。更多精彩内容,请点击社区之星或搜索关键字图书作者查看。

相关阅读:

  • CSDN学院讲师韦东山:悦己之作,方能悦人
  • 图书作者纪磊访谈:I have a dream——让孩子爱上编程!


.NET Native:C++的性能 C#的产能? Arduino联合创始人Tom Igoe:创客,因何而创 【走近院士】高文:多媒体大数据的影响及面临的挑战 微软SQL Server 2014三大新特性:集成内存OLTP、BI和混合云搭建 Linux将会统治桌面端的7个原因 Intel首席科学家Randolph Wang:详解Edison AMD Mantle再添新作,引发下代GPU架构猜想 谈DAM决策,自建还是SaaS 证据显示:Linux战争已经转移到OpenStack RestKit:iOS开发必备,告别众多无聊代码 技术新突破:手机和平板可远程控制PC,Chrome Remote Desktop亮相 物联网高速公路上,快数据如何驱动分析 苹果或将使用雅虎的搜索引擎,抛弃谷歌 百万用户规模的系统如何扩展 大数据需要软件定义存储 倒计36小时!2014中国Spark技术峰会即将召开! 设计师专宠,Startup强大的UI设计框架 走进金山云:从技术走向服务 Qt Creator 3.1.0发布,全面支持iOS、Android、WP Google大中华区总裁石博盟与中国大学生畅谈科技与创新 阿里云:从防到攻,深入浅出DDoS 大数据处理分析的六大最好工具 微软:Windows Phone开发者可回复用户评价 不断缩水后的微博上市首日大涨19% 曾一度涨超40% Snapdragon LLVM编译器全新升级 支持骁龙64位处理器 EDP:基于Node.JS与NPM的企业级开发平台 想改变世界,先改变自己——知名Hacker、发明家Mitch Altman专访 《近匠》iHealth,健康大数据助力硬件“破壳” 一周消息树:如何做到每天写代码? 一周热点:微软SQL Server 2014三大新特性 《Make》创始人Dale Dougherty:全民创客 二进制数的减法是怎样的? 各位朋友请救救我! 系统函数imagecreate(int x_size,int y_size)为什么会错误?是不是需要重新定义? sql数据库端口屏蔽怎么办? struct(结构) 类型可以转化为 Variant吗?怎么转化?然后如何将Variant类型的变量恢复为struct结构 用lotus script怎样实现对数据库指定文档的修改? 问个简单的线程问题,大家别见笑 :)!!! 关于asp.net的配置问题 jsp、oracle8.1.6的中文问题 在线等待 关于重新启动计算机的问题,谁能帮我? 各位,帮忙看看!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! daehappy进来取分,感谢给分! 各位大虾,有谁知道oracle8i,oracle9i是如何报价的,非常感谢! daehappy进来取分,感谢给分! daehappy进来取分,感谢给分! 如何驗証日期類型? 打包是如何解决vcl60的错误? 很急,谢谢 请问:单文档中如何在退出时去掉弹出的“是否保存文件“消息? 还没有见过这样的贴子,但又在实践中经常碰到的问题,怪事。。。。 ??IDispatch error #3101:什么意思?? 怎样实现程序中的取消功能 各位,上海哪边的房子便宜一点?(700左右,房内只要有简单家俱即可!) 一个<xsl:if>的问题 vc6.0 能否直接编译.mak文件?该如何配置? 关于XP中的PF使用率和字体占用内存的问题 有关安装nt server的问题 有关安装nt server的问题 关于数据库用户的问题! 很奇怪的现象,有人知道吗? 初级问题 电脑自动重启,有点难度,高手请进,如果对,绝对给分! 怎样用DAO或ADO访问EXCEL数据表? 请问该事件可以通过发送消息或其他的方法来触发吗? 有没有关于开发控件的文章和例子,请各位大侠帮忙!!! 告诉那有免费的数字化软件马上送分200 请问哪里有 Remote Authentication Dial In User Service (RADIUS)的资料或原码? 我怎么不能看你们的问题啊 关于数据库 window.parent.oa_middle.oa_userlist.document.location.reload();报错:对像为空或不存在 看如下的sql语句如何才能够把结果显示在grid内? 准备学习j2ee, 大家推荐些网站和书籍,我准备狂啃二个月!对了,我连它的开发工具还不知道呢,是不是还用jbuilder? 初学者,如何在C++ Builder中打印? DCOM编程要求在客户端安装DCOM,怎样安装DCOM,怎样判断是否安装了DCOM? 很小的小问题关于winsock 电话语音卡支持adpcm文件格式的直接播放吗? 关于Access数据库的两个问题,急! 一个初学者的简单问题。 大家好,一个小技术问题,不知道怎魔办? 两句的代码都出现问题!憋闷 高分寻求《数据结构-C++语言描述》书友,来者有分 谁知道哪儿能下载access的jdbc驱动程序吗? 写出生成物有二氧化碳的置换反应化学方程式 结晶法 .加热法 .蒸馏法.的区别(在什么时候用结晶法.什么时候用加热法 .什么时候用蒸馏法. 地球上最早出现的生命形式是?A没有细胞结构的病毒等生物B多种有机大分子的集合体C具有细胞形态的单细胞生物D由多个细胞形成的生物体 为除去co2气体中混有少量杂质so2气体,应选用的试剂的是?A,Na2CO3溶液 B,NaHCO3溶液 C,NaOH溶液 D浓硫酸选哪个,.为什么 那个,蒸馏瓶可用来加热么?若能,那么是直接加热还是间接才能加热? 关于压强的选择(初二)一名杂技运动员表演时,展示了独掌支撑的雄姿,此时他的手掌对地面的压强是__A500PaB5000PaC50000PaD500000Pa 恐龙灭绝后地球怎么有生命 氢氧化钠和氯化钠反应生成什么,请写个化学式 铜和氧气生成什么 为除去CO2气体中混有的少量SO2气体,应选用的试剂是A.碳酸钠B.碳酸氢钠C.氢氧化钠D.硫酸氢为什么 写步子强壮有力的词语 战斗机以极快的速度俯冲向前方目标投弹战斗机以极快的速度俯冲向前方目标发射导弹,导弹会发射不出去吗?这几天央视1套节目的电视剧,那个2号女武器专家说的.这种说法对不对?看来问题不 恐龙灭绝后的地球是什么样的? 表示强健而有力的词语是什么 战斗机最快俯冲记录是多少什么战斗机? 在恐龙灭绝时代以后,生命是从哪里来的? 制备乙酸乙酯时可以用哪些方法克服副反应 战斗机高速向俯冲时,经常来个底朝天,这是为什么?战斗机高速向俯冲时,经常来个底 要配置物质的量浓度约为2mol/LNaOH溶液100mL,请问该操作对不对 答案是给的是正确称取8gNaOH固体,放入250mL烧杯中,用100mL量筒量取100mL蒸馏水,加入烧杯中,同时不断搅拌至固体溶解 . 百变机兽洛洛历险记的冲击波是多少集出现的? 战机俯冲是不是人血液有什么问题吗?看了绝密飞行,战机要俯冲2000节速度放导弹,为什么俯冲的时候那个人失去知觉了?平飞的时候4马赫都没事啊. 电动车V和W什么意思 非标准状态下化学反应自由能计算式中,标准自由能变表示一个过程,Q表示一个时刻的非标准状态下化学反应自由能计算式中,标准自由能变表示一个过程,Q表示一个时刻的反应商,两者结合,那 关于制备乙酸乙酯反应的问题沸点:乙酸乙酯77.乙醇78.乙酸118,为什么反应物中应是乙醇过量,反应时边滴加醋酸边加热蒸馏。77.1与78.3如此接近,这样乙醇与乙酸乙酯不就一起被蒸出来了 v字母是什么车 能否用亥姆霍兹自由能作为化学反应方向的判据不一定是全部情况,只要某种条件(比如生物体)就可以 洛洛历险记冲击波必杀技是什么 倒v标志是什么车 NaCL+?能生成NaOH写下化学方程式 洛洛历险记中冲击波是什么车? 画出 条形磁铁 蹄型磁铁 异名磁极 同名磁极(S、S)或(N、N) 的磁感线分布图 为了除去混入CO2中的SO2,最好将混合气体通入下列哪种溶液中A.饱和食盐水 B.饱和纯碱溶液 C.饱和小苏打溶液 D.浓硫酸写下其他选项错误的理由 地球是最早出现的原始生命,可能是什么类型 两个磁铁的磁感线会相交吗?当两个磁铁紧紧的放在一块时 将3.52 g CO2和SO2混合气体通入一定量的NaOH溶液中,气体全部与NaOH反应生成盐,将反应后的溶液减压低温蒸干后得到不含结晶水的固体,固体的质量可能为 A.8.48 g B.7.48 g C.5.72 g D.5.22g 英特尔处理器数字代表什么意思 布氏漏斗可以直接过滤吗?就是单单一个漏斗,不用抽吸装置.布氏漏斗加滤纸. 怎样用电动车电瓶电鱼(四个12V电瓶) 震荡波角度怎样使牛头人释放震荡波的时候直接放出3道每到角度30度向前的每到的伤害一样 磁感线不能交叉,是指一个磁铁的磁感线不能交叉,还是几个靠近的磁铁的磁感线不能交叉? 电动车12V电池可以和16V的一起合用吗?我有两电动车,一个48V16V一个3个,一个60V的12V一个5个,我想用48V的加一个12V的就60V了上在我60的车上这样组合可以吗?电池都是20A的. 什么是冲击波 冲击波的作用是什么 从压力 变送器里面出来的4-20ma 电流,是模电还是数电? 高锰酸钾溶液应该用多久 平衡常数与吉布斯自由能请问这题选什么? 我的压力变送器是4-20mA的输出,测量真空,但却无法输出4mA的电流,最多只到5点几毫安,且示数不稳定我按变送器校准去调0度电位器了,可无法使其输出4mA,而且其值会不停往上升.会不会是变送器 高锰酸钾溶液如何使用 氢氧化钠和盐酸反应生成的氯化钠是气体吗 地球上的第一个生命是从哪里来的?我想知道地球上的第一个生命是怎么出现的,是不是从外来星球来的呢? 酸类分解产生co2的化学方程式 根据意思写词语:1(年轻人,孩子,动植物)强壮,健壮 2.看见别人有某种长处,好处或有利条件而希望自己也有. 地球第一个生命是什么? 地球上最早出现的生命形式 (年轻人、孩子、动植物)旺盛地成长,健壮,强壮.相对应的词语是什么 环评中烟尘浓度怎么求 强健有力的词义写词语生生世世 冲击波是什么?假设有氧气瓶. 分液 萃取 层析 结晶属于分离的是?提纯的是?这五种方法 哪几种属于分离 哪几种属于提纯?还有蒸发属于结晶的一种把? 二氧化碳,一氧化碳,氮分子的混合气体通过灼热的氧化铜,物质完全反映后得到混合气体通过足量石灰水,剩余气体是(水蒸气不计) 震荡波或者冲击波靠什么媒介来传播的?
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘