设为首页收藏本站

LUPA开源社区

 找回密码
 注册
文章 帖子 博客

如何挑选合适的大数据或Hadoop平台?

2013-10-10 11:36| 发布者: joejoe0332| 查看: 3053| 评论: 0|原作者: Kai Wähner|来自: InfoQ

摘要:   今年,大数据在很多公司都成为相关话题。虽然没有一个标准的定义来解释何为 “大数据”,但在处理大数据上,Hadoop已经成为事实上的标准。IBM、Oracle、SAP、甚至Microsoft等几乎所有的大型软件提供商都 采用了H ...


  何时使用Apache Hadoop
 

  由于在本地系统上,只需10分钟左右就可完成其独立安装,所以Apache Hadoop很适合于第一次尝试。你可以试试WordCount示例(这是Hadoop的“hello world”示例),并浏览部分MapReduce的Java代码 。
 
  如果你并不想使用一个“真正的”Hadoop发行版本(请看下一节)的话,那么选择Apache Hadoop也是正确的。然而,我没有理由不去使用Hadoop的一个发行版本——因为它们也有免费的、非商业版。
 
  所以,对于真正的Hadoop项目来说,我强烈推荐使用一个Hadoop的发行版本来代替Apache Hadoop。下一节将会说明这种选择的优点。
 

  Hadoop发行版本

  Hadoop发行版本解决了在上一节中所提到的问题。发行版本提供商的商业模型百分之百地依赖于自己的发行版本。他们提供打包、工具和商业支持。而这些不仅极大地简化了开发,而且也极大地简化了操作。
 
  Hadoop发行版本将Hadoop生态系统所包含的不同项目打包在一起。这就确保了所有使用到的版本都可以顺当地在一起工作。发行版本会定期发布,它包含了不同项目的版本更新。
 
  发行版本的提供商在打包之上还提供了用于部署、管理和监控Hadoop集群的图形化工具。采用这种方式,可以更容易地设置、管理和监控复杂集群。节省了大量工作。
 
  正如上节所提到的,获取普通Apache Hadoop项目的商业支持是很艰难的,而提供商却为自己的Hadoop发行版本提供了商业支持。
 

  Hadoop发行版本提供商
 
  目前,除了Apache Hadoop外, HortonWorks、Cloudera和MapR三驾马车在发布版本上差不多齐头并进。虽然,在此期间也出现了其他的Hadoop发行版本。比如 EMC公司的Pivotal HD、IBM的InfoSphere BigInsights。通过Amazon Elastic MapReduce(EMR),Amazon甚至在其云上提供了一个托管的、预配置的解决方案。
 
  虽然很多别的软件提供商没有开发自己的Hadoop发行版本,但它们和某一个发行版本提供商相互合作。举例来说,Microsoft和 Hortonworks相互合作,特别是合作将Apache Hadoop引入到Windows Server操作系统和Windows Azure云服务中。另外一个例子是,Oracle通过将自己的软硬件与Cloudera的Hadoop发行版本结合到一起,提供一个大数据应用产品。而 像SAP、Talend这样的软件提供商则同时支持几个不同的发行版本。
 

  如何选择合适的Hadoop发行版本?

  本文不会评估各个Hadoop的发行版本。然而,下面会简短地介绍下主要的发行版本提供商。在不同的发行版本之间一般只有一些细微的差别,而提供商则将这些差别视为秘诀和自己产品的与众不同之处。下面的列表解释了这些差别:

 •Cloudera:最成型的发行版本,拥有最多的部署案例。提供强大的部署、管理和监控工具。Cloudera开发并贡献了可实时处理大数据的Impala项目。
•Hortonworks:不拥有任何私有(非开源)修改地使用了100%开源Apache Hadoop的唯一提供商。Hortonworks是第一家使用了Apache HCatalog的元数据服务特性的提供商。并且,它们的Stinger开创性地极大地优化了Hive项目。Hortonworks为入门提供了一个非常 好的,易于使用的沙盒。Hortonworks开发了很多增强特性并提交至核心主干,这使得Apache Hadoop能够在包括Windows Server和Windows Azure在内的Microsft Windows平台上本地运行。
•MapR:与竞争者相比,它使用了一些不同的概念,特别是为了获取更好的性能和易用性而支持本地Unix文件系统而不是HDFS(使用非开源的组件)。 可以使用本地Unix命令来代替Hadoop命令。除此之外,MapR还凭借诸如快照、镜像或有状态的故障恢复之类的高可用性特性来与其他竞争者相区别。 该公司也领导着Apache Drill项目,本项目是Google的Dremel的开源项目的重新实现,目的是在Hadoop数据上执行类似SQL的查询以提供实时处理。
•Amazon Elastic Map Reduce(EMR):区别于其他提供商的是,这是一个托管的解决方案,其运行在由Amazon Elastic Compute Cloud(Amazon EC2)和Amzon Simple Strorage Service(Amzon S3)组成的网络规模的基础设施之上。除了Amazon的发行版本之外,你也可以在EMR上使用MapR。临时集群是主要的使用情形。如果你需要一次性的 或不常见的大数据处理,EMR可能会为你节省大笔开支。然而,这也存在不利之处。其只包含了Hadoop生态系统中Pig和Hive项目,在默认情况下不 包含其他很多项目。并且,EMR是高度优化成与S3中的数据一起工作的,这种方式会有较高的延时并且不会定位位于你的计算节点上的数据。所以处于EMR上 的文件IO相比于你自己的Hadoop集群或你的私有EC2集群来说会慢很多,并有更大的延时。
 

  上面的发行版本都能灵活地单独使用或是与不同的大数据套件组合使用。而这期间出现的一些其它的发行版本则不够灵活,会将你绑定至特定的软件栈和(或)硬件 栈。比如EMC的Pivotal HD原生地融合了Greenplum的分析数据库,目的是为了在Hadoop,或Intel的Apache Hadoop发行版本之上提供实时SQL查询和卓越的性能,Intel的Apache Hadoop发行版本为固态驱动器进行了优化,这是其他Hadoop公司目前还没有的做法。
 

  所以,如果你的企业已经有了特定的供应方案栈,则一定要核查它支持哪个Hadoop发行版本。比如,如果你使用了Greeplum数据库,那么 Pivotal就可能是一个完美的选择,而在其他情况下,可能更适合采取更加灵活的解决方案。例如,如果你已经使用了Talend ESB,并且你想使用TalenD Big Data来启动你的大数据项目,那么你可以选择你心仪的Hadoop发行版本,因为Talend并不依赖于Hadoop发行版本的某个特定提供商。
 

  为了做出正确的选择,请了解各个发行版本的概念并进行试用。请查证所提供的工具并分析企业版加上商业支持的总费用。在这之后,你就可以决定哪个发行版本是适合自己的。
 

  何时使用Hadoop发行版本?
 
  由于发行版本具有打包、工具和商业支持这些优点,所以在绝大多数使用情形下都应使用Hadoop的发行版本。使用普通的(原文为plan,应为 plain)Apache Hadoop发布版本并在此基础之上构建自己的发行版本的情况是极少见的。你会要自己测试打包,构建自己的工具,并自己动手写补丁。其他一些人已经遇到了 你将会遇到的同样问题。所以,请确信你有很好的理由不使用Hadoop发行版本。
 
  然而,就算是Hadoop发行版本也需要付出很大的努力。你还是需要为自己的MapReduce作业编写大量代码,并将你所有的不同数据源集成到Hadoop中。而这就是大数据套件的切入点。
 

  大数据套件
 
  你可以在Apache Hadoop或Hadoop发行版本之上使用一个大数据套件。大数据套件通常支持多个不同的Hadoop发行版本。然而,某些提供商实现了自己的 Hadoop解决方案。无论哪种方式,大数据套件为了处理大数据而在发行版本上增加了几个更进一步的特性:

 •工具:通常,大数据套件是建立像Eclipse之类的IDE之上。附加插件方便了大数据应用的开发。你可以在自己熟悉的开发环境之内创建、构建并部署大数据服务。
•建模:Apache Hadoop或Hadoop发行版本为Hadoop集群提供了基础设施。然而,你仍然要写一大堆很复杂的代码来构建自己的MapReduce程序。你可以 使用普通的Java来编写这些代码,或者你也可以那些已经优化好的语言,比如PigLatin或Hive查询语言(HQL),它们生成MapReduce 代码。大数据套件提供了图形化的工具来为你的大数据服务进行建模。所有需要的代码都是自动生成的。你只用配置你的作业(即定义某些参数)。这样实现大数据 作业变得更容易和更有效率。
•代码生成:生成所有的代码。你不用编写、调试、分析和优化你的MapReduce代码。
•调度:需要调度和监控大数据作业的执行。你无需为了调度而编写cron作业或是其他代码。你可以很容易地使用大数据套件来定义和管理执行计划。
•集成:Hadoop需要集成所有不同类技术和产品的数据。除了文件和SQL数据库之外,你还要集成NoSQL数据库、诸如Twitter或 Facebook这样的社交媒体、来自消息中间件的消息、或者来自类似于Salesforce或SAP的B2B产品的数据。通过提供从不同接口到 Hadoop和后端的众多连接器,大数据套件为集成提供了很多帮助。你不用手工编写连接代码,你只需使用图形化的工具来集成并映射所有这些数据。集成能力 通常也具有数据质量特性,比如数据清洗以提高导入数据的质量。
 

酷毙

雷人

鲜花

鸡蛋

漂亮
  • 快毕业了,没工作经验,
    找份工作好难啊?
    赶紧去人才芯片公司磨练吧!!

最新评论

关于LUPA|人才芯片工程|人才招聘|LUPA认证|LUPA教育|LUPA开源社区 ( 浙B2-20090187 浙公网安备 33010602006705号   

返回顶部