您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 数据挖掘与识别 > 为何Hadoop不是大数据解决方案
WhyHadoopIsNottheBigDataSolution为何Hadoop不是大数据解决方案BYDAVEBEULKE,ONFEBRUARY27TH,2014作者:戴夫Beulke发表时间:2014.2.27原文链接:’soptionsandfeatures.FollowingaresomeoftheHadoopfactsthatafriendofminenotedtoexplainwhytheircompanywasmigratingtheirbigdataprojectfromHadoopandintotheDB2z/OSenvironment.大数据用Hadoop正由炒作变为现实应用,然而有些企业并不喜欢Hadoop所具备的一些选项和功能。我的一个朋友给我说道以下一些使用Hadoop的真相:为什么他们公司把大数据项目从基于Hadoop平台迁移到DB2z/OS○1环境。○1:DB2z/OS表示运行在IBMz系列的大型机的DB2数据库。DB2数据库是IBM关系型数据库核心产品之一,该数据库拥有能在多个平台、多个操作系统运行的产品。DB2数据库是IBM今后重点发展的拳头产品。目前DB2最新的版本是10.5,是利用Hadoop搭建大数据平台的最强的杀手(关于DB210.5是Hadoop杀手的报道,详情见(英文版),中文版())。目前,我部门经分数据仓库使用的是IBMDB2V9.5,补丁号是fix10,运行在IBM的P570的小型机上,操作系统版本为IBMAIX5.3.12.Hadoopisnotfree.Hadoopisopensourceandisafreesoftwaredownload.Unfortunatelyeveryonethatsupportsanytypeoftechnologyrealizesthatnothingisfree.Thisrealizationisespeciallycommonafteralltheopensourcebasescodeevaluation,patches,andoperatingsystemcoordination.Thesoftwaremaybefree,butconsiderworkingwithfunctionalityissuesthatmayneverbeaddressedbytheopensourcecommunity,extrasoftwarecoordinationandthewaitforfunctionalitythatcanbeprojectkillingandpainfullyexpensive.Also,thereareanumberofsoftwaresupportcompaniesthatareofferingtheirownderivatives/versionsoftheHadoopsoftwarewithsoftwaresupportcontracts.Hadoop不是免费的○2。Hadoop是一款开源且免费下载的软件。不幸的是,任何做过技术支撑的人都清楚:没有任何软件是免费的。在基于对开源软件的代码评估,补丁以及其与操作系统联调(调优)后,(免费软件不免费)这种认同更是大家的常识。软件或许免费,但要考虑其使用过程中遇到的功能问题可能再也不会被开源社区发布,和那些额外的协作软件和期待的功能可能会因项目终止以及难以接受的成本。正因如此,一些软件支持公司(发现商机)正在提供自己的衍生品或Hadoop软件版本商业支持合同。○2:作者在此提到Hadoop不是免费的,与Hadoop是一款开源且免费下载的软件的观点不矛盾。其阐述的宗旨是:因为Hadoop的开源和免费,导致其版本演进中的代码质量提高,补丁修复,与操作系统更好的融合是个耗时间和精力的过程,有可能造成大数据项目出现难以管控的技术成本。相比之下,软件免费下载就微不足道了!Hadoop原本来自于谷歌一款名为MapReduce的编程模型包,后由ApacheSoftwareFoundation公司于2005年秋天作为Lucene的子项目Nutch的一部分正式引入。Hadoop最初只与网页索引有关,后发展成为分析大数据的平台。Hadoop这个名字不是一个缩写,而是一个虚构的名字。该项目的创建者,DougCutting解释Hadoop的得名:“这个名字是我孩子给一个棕黄色的大象玩具命名的。我的命名标准就是简短,容易发音和拼写,没有太多的意义,并且不会被用于别处。小孩子恰恰是这方面的高手。”Hadoop主要由HDFS、MapReduce等组件构成,其发展历程可参考该博文()国内利用Hadoop处理大数据的有阿里,百度,网易,腾讯等知名IT公司。他们公司拥有上千人的技术团队,来协作改写、优化Hadoop架构及其组件的源代码,改写操作系统和MySQL数据库核心代码,摒弃开源软件中的糟粕。ManyHadoopcomponentsarestillnoteventoVersion1yet.AlongwiththeHadoopsoftwarethereareseveralothercomponentstypicallyneededtogetyourbigdataprojectgoing.Forexampletwootheropensourcecomponents,PigandHive,languagesthatprovidefordataflowsandtheMapReduce,areonlyversion0.12.0.ThesetwotypicalcorecomponentsofaHadoopinfrastructureworkwithintheinfrastructure,butarehardlyeasytouseandcanbecumbersomefordeveloperstolearn.Thisearlyeditionofcode,subVersion1withlimitedfunctionalityandonlyelementaryeaseofusearetypicaloftheopensourcecompanionsoftwareusedwithHadoop.很多的Hadoop组件甚至还没有到版本1.0○3。利用Hadoop软件来推进你的大数据项目,是需要Hadoop相关的几个有代表性的组件。譬如,Pig和Hive两个开源组件○4,这两个(计算机编程)语言(组件)提供数据流和MapReduce○5功能,它们仅仅是0.12.0版本○6。这两款能代表Hadoop基础架构作业的核心组件也是一种基础架构,但它们很难使用,并且软件开发者学习起来很繁琐(不简约)。这两个开源软件伴侣代表,早期代码子版本○7是1且功能有限,Hadoop使用的也仅是其低级的易用部分。○3:Hadoop及其组件的软件版本命名规则采取GNU风格的版本号命名格式:主版本号.子版本号[.修正版本号[.编译版本号]]。○4:Pig和Hive是Hadoop架构中的一对好伴侣,缺少它们,Hadoop寸步难行。在Hadoop项目结构图中(见下图),其功能位置如下。Pig是一个对大型数据集进行分析和评估的平台,主要包括两部分:1)用于描述数据流的语言,称为PigLatin;2)用于执行PigLatin程序的执行环境,当前有两个环境:单JVM中的本地执行环境和Hadoop集群上的分布式执行环境。Pig内部,每个操作或变换是对输入进行数据处理,然后产生输出结果,这些变换操作被转换成一系列MapReduce作业。Hive最早是由Facebook设计的,是一个建立在Hadoop基础之上的数据仓库,它提供了一些用于数据整理、特殊查询和分析存储在Hadoop文件中的数据集的工具。Hive提供的是一种结构化数据的机制,它支持类似于传统RDBMS(关系型数据库管理系统)中的SQL语言来帮助那些熟悉SQL的用户查询Hadoop中的数据,该查询语言称为HiveQL。与此同时,那些传统的MapReduce编程人员也可以在Mapper或Reducer中通过HiveQL查询数据。Hive编译器会把HiveQL编译成一组MapReduce任务,从而方便MapReduce编程人员进行Hadoop应用的开发。○5:MapReduce:MapReduce是一种编程模型,用于大规模数据集(大于1TB)的并行运算。“映射”(map)、“化简”(reduce)等概念和它们的主要思想都是从函数式编程语言中借来的。它使得编程人员在不了解分布式并行编程的情况下也能方便地将自己的程序运行在分布式系统上。MapReduce在执行时先指定一个map(映射)函数,把输入键值对映射成一组新的键值对,经过一定的处理后交给reduce,reduce对相同key下的所有value进行处理后再输出键值对作为最终的结果。○6:作者写此文时pig和Hive组件版本可能是0.12.0,但目前Pig最新版本是0.14.0(见),Hive最新版本是0.14.0(见)○7:参见注释○3。作者认为版本号越大,说明这个软件发展和演进的技术支持及推广力度大。Hadoopintegrationcanbechallenging.Hadoop’sintegrationintoanyenvironmentisinterestingbecauseofitsutilizationofcommandscripts,lackofstandarddatabaseapplicationinterfaces,andbatchmodeofprocessing.ThesethreefactorsmakeHadoopcumbersometointegratewithotherprojects,products,andapplicationsbecausedirectaccessisalmostimpossible,automatingscriptscanbecomplex,andstandardinterfacesarenotavailable.SincetheintegrationofHadoopisdifficult,anydataloadedandanalyzedoranswersproducedcreatesyetanothersiloofdatathatrequiresextraefforttore-integratewithintheotherenterprisesystemdatabasestoprovidebigpictureanalysis.Hadoop的集成是具有挑战性的。使用命令行脚本,缺乏标准的数据库应用接口,批处理模式过程,这些使得Hadoop的集成到任何环境中令人感觉那么带劲。但这三个因素使得Hadoop与其他项目,产品和应用的整合变得繁琐,因为直接访问(这里指Hadoop自身和其他外部应用)几乎是不可能的,自动化的脚本或许会很复杂,标准化的接口变得不可用。由于Hadoop的集成是难度很大的,这导致它加载和分析的数据或满足生产的解答会产另一个数据烟筒,这需要额外的精力来重新整合企
本文标题:为何Hadoop不是大数据解决方案
链接地址:https://www.777doc.com/doc-4200836 .html