
如何挑选合适的大数据或Hadoop平台_数据分析师
今年,大数据在很多公司都成为相关话题。虽然没有一个标准的定义来解释何为 “大数据”,但在处理大数据上,Hadoop已经成为事实上的标准。IBM、Oracle、SAP、甚至Microsoft等几乎所有的大型软件提供商都采用了Hadoop。然而,当你已经决定要使用Hadoop来处理大数据时,首先碰到的问题就是如何开始以及选择哪一种产品。你有多种选择来安装Hadoop的一个版本并实现大数据处理。本文讨论了不同的选择,并推荐了每种选择的适用场合。
下图展示了Hadoop平台的多种选择。你可以只安装Apache 发布版本,或从不同提供商所提供的几个发行版本中选择一个,或决定使用某个大数据套件。每个发行版本都包含有Apache Hadoop,而几乎每个大数据套件都包含或使用了一个发行版本,理解这一点是很重要的。
下面我们首先从Apache Hadoop开始来好好看看每种选择。
Apache Hadoop项目的目前版本(2.0版)含有以下模块:
在本地系统上独立安装Apache Hadoop是非常容易的(只需解压缩并设置某些环境变量,然后就可以开始使用了)。但是这只合适于入门和做一些基本的教程学习。
如果你想在一个或多个“真正的节点”上安装Apache Hadoop,那就复杂多了。
问题1:复杂的集群设置
你可以使用伪分布式模式在单个节点上模拟多节点的安装。你可以在单台服务器上模拟在多台不同服务器上的安装。就算是在该模式下,你也要做大量的配置工作。如果你想设置一个由几个节点组成的集群,毫无疑问,该过程就变得更为复杂了。要是你是一个新手管理员,那么你就不得不在用户权限、访问权限等诸如此类的问题中痛苦挣扎。
问题2: Hadoop生态系统的使用
在Apache中,所有项目之间都是相互独立的。这是很好的一点!不过Hadoop生态系统除了包含Hadoop外,还包含了很多其他Apache项目:
还有其他一些项目。
你需要安装这些项目,并手动地将它们集成到Hadoop中。
你需要自己留意不同的版本和发布版本。不幸的是,不是所有的版本都能在一起完美地运行起来。你要自己比较发布说明并找出解决之道。Hadoop提供了众多的不同版本、分支、特性等等。跟你从其他项目了解的1.0、1.1、2.0这些版本号不同,Hadoop的版本可远没这么简单。如果你想更进一步了解关于“Hadoop版本地狱”的细节,请阅读“大象的家谱(Genealogy of elephants)”一文。
问题3:商业支持
Apache Hadoop只是一个开源项目。这当然有很多益处。你可以访问和更改源码。实际上有些公司使用并扩展了基础代码,还添加了新的特性。很多讨论、文章、博客和邮件列表中都提供了大量信息。
然而,真正的问题是如何获取像Apache Hadoop这样的开源项目的商业支持。公司通常只是为自己的产品提供支持,而不会为开源项目提供支持(不光是Hadoop项目,所有开源项目都面临这样的问题)。
由于在本地系统上,只需10分钟左右就可完成其独立安装,所以Apache Hadoop很适合于第一次尝试。你可以试试WordCount示例(这是Hadoop的“hello world”示例),并浏览部分MapReduce的Java代码 。
如果你并不想使用一个“真正的”Hadoop发行版本(请看下一节)的话,那么选择Apache Hadoop也是正确的。然而,我没有理由不去使用Hadoop的一个发行版本——因为它们也有免费的、非商业版。
所以,对于真正的Hadoop项目来说,我强烈推荐使用一个Hadoop的发行版本来代替Apache Hadoop。下一节将会说明这种选择的优点。
Hadoop发行版本解决了在上一节中所提到的问题。发行版本提供商的商业模型百分之百地依赖于自己的发行版本。他们提供打包、工具和商业支持。而这些不仅极大地简化了开发,而且也极大地简化了操作。
Hadoop发行版本将Hadoop生态系统所包含的不同项目打包在一起。这就确保了所有使用到的版本都可以顺当地在一起工作。发行版本会定期发布,它包含了不同项目的版本更新。
发行版本的提供商在打包之上还提供了用于部署、管理和监控Hadoop集群的图形化工具。采用这种方式,可以更容易地设置、管理和监控复杂集群。节省了大量工作。
正如上节所提到的,获取普通Apache 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的发行版本。然而,下面会简短地介绍下主要的发行版本提供商。在不同的发行版本之间一般只有一些细微的差别,而提供商则将这些差别视为秘诀和自己产品的与众不同之处。下面的列表解释了这些差别:
上面的发行版本都能灵活地单独使用或是与不同的大数据套件组合使用。而这期间出现的一些其它的发行版本则不够灵活,会将你绑定至特定的软件栈和(或)硬件栈。比如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的发行版本。使用普通的(原文为plan,应为plain)Apache Hadoop发布版本并在此基础之上构建自己的发行版本的情况是极少见的。你会要自己测试打包,构建自己的工具,并自己动手写补丁。其他一些人已经遇到了你将会遇到的同样问题。所以,请确信你有很好的理由不使用Hadoop发行版本。
然而,就算是Hadoop发行版本也需要付出很大的努力。你还是需要为自己的MapReduce作业编写大量代码,并将你所有的不同数据源集成到Hadoop中。而这就是大数据套件的切入点。
你可以在Apache Hadoop或Hadoop发行版本之上使用一个大数据套件。大数据套件通常支持多个不同的Hadoop发行版本。然而,某些提供商实现了自己的Hadoop解决方案。无论哪种方式,大数据套件为了处理大数据而在发行版本上增加了几个更进一步的特性:
大数据套件的数目在持续增长。你可以在几个开源和专有提供商之间选择。像IBM、Oracle、Microsoft等这样的大部分大软件提供商将某一类的大数据套件集成到自己的软件产品组合中。而绝大多数的这些厂商仅只支持某一个Hadoop发行版本,要么是自己的,要么和某个Hadoop发行版本提供商合作。
从另外一方面来看,还有专注于数据处理的提供商可供选择。它们提供的产品可用于数据集成、数据质量、企业服务总线、业务流程管理和更进一步的集成组件。既有像Informatica这样的专有提供商,也有Talend或Pentaho这样的开源提供商。某些提供商不只支持某一个Hadoop发行版本,而是同时支持很多的。比如,就在撰写本文的时刻,Talend就可以和Apache Hadoop、Cloudera、Hortonworks、MapR、Amazon Elastic MapReduce或某个定制的自创发行版本(如使用EMC的Pivotal HD)一起使用。
本文不会评估各个大数据套件。当你选择大数据套件时,应考虑几个方面。下面这些应该可以帮助你为自己的大数据问题作出合适的抉择:
现在,你了解了Hadoop不同选择之间的差异。最后, 让我们总结并讨论选择Apache Hadoop框架、Hadoop发行版本或大数据套件的场合。
下面的“决策树”将帮助你选择合适的一种:
Apache:
发行版本:
大数据套件:
Hadoop安装有好几种选择。你可以只使用Apache Hadoop项目并从Hadoop生态系统中创建自己的发行版本。像Cloudera、Hortonworks或MapR这样的Hadoop发行版本提供商为了减少用户需要付出的工作,在Apache Hadoop之上添加了如工具、商业支持等特性。在Hadoop发行版本之上,为了使用如建模、代码生成、大数据作业调度、所有不同种类的数据源集成等附加特性,你可以使用一个大数据套件。一定要评估不同的选择来为自己的大数据项目做出正确的决策。
数据分析咨询请扫描二维码
若不方便扫码,搜微信号:CDAshujufenxi
在神经网络设计中,“隐藏层个数” 是决定模型能力的关键参数 —— 太少会导致 “欠拟合”(模型无法捕捉复杂数据规律,如用单隐 ...
2025-10-21在特征工程流程中,“单变量筛选” 是承上启下的关键步骤 —— 它通过分析单个特征与目标变量的关联强度,剔除无意义、冗余的特 ...
2025-10-21在数据分析全流程中,“数据读取” 常被误解为 “简单的文件打开”—— 双击 Excel、执行基础 SQL 查询即可完成。但对 CDA(Cert ...
2025-10-21在实际业务数据分析中,我们遇到的大多数数据并非理想的正态分布 —— 电商平台的用户消费金额(少数用户单次消费上万元,多数集 ...
2025-10-20在数字化交互中,用户的每一次操作 —— 从电商平台的 “浏览商品→加入购物车→查看评价→放弃下单”,到内容 APP 的 “点击短 ...
2025-10-20在数据分析的全流程中,“数据采集” 是最基础也最关键的环节 —— 如同烹饪前需备好新鲜食材,若采集的数据不完整、不准确或不 ...
2025-10-20在数据成为新时代“石油”的今天,几乎每个职场人都在焦虑: “为什么别人能用数据驱动决策、升职加薪,而我面对Excel表格却无从 ...
2025-10-18数据清洗是 “数据价值挖掘的前置关卡”—— 其核心目标是 “去除噪声、修正错误、规范格式”,但前提是不破坏数据的真实业务含 ...
2025-10-17在数据汇总分析中,透视表凭借灵活的字段重组能力成为核心工具,但原始透视表仅能呈现数值结果,缺乏对数据背景、异常原因或业务 ...
2025-10-17在企业管理中,“凭经验定策略” 的传统模式正逐渐失效 —— 金融机构靠 “研究员主观判断” 选股可能错失收益,电商靠 “运营拍 ...
2025-10-17在数据库日常操作中,INSERT INTO SELECT是实现 “批量数据迁移” 的核心 SQL 语句 —— 它能直接将一个表(或查询结果集)的数 ...
2025-10-16在机器学习建模中,“参数” 是决定模型效果的关键变量 —— 无论是线性回归的系数、随机森林的树深度,还是神经网络的权重,这 ...
2025-10-16在数字化浪潮中,“数据” 已从 “辅助决策的工具” 升级为 “驱动业务的核心资产”—— 电商平台靠用户行为数据优化推荐算法, ...
2025-10-16在大模型从实验室走向生产环境的过程中,“稳定性” 是决定其能否实用的关键 —— 一个在单轮测试中表现优异的模型,若在高并发 ...
2025-10-15在机器学习入门领域,“鸢尾花数据集(Iris Dataset)” 是理解 “特征值” 与 “目标值” 的最佳案例 —— 它结构清晰、维度适 ...
2025-10-15在数据驱动的业务场景中,零散的指标(如 “GMV”“复购率”)就像 “散落的零件”,无法支撑系统性决策;而科学的指标体系,则 ...
2025-10-15在神经网络模型设计中,“隐藏层层数” 是决定模型能力与效率的核心参数之一 —— 层数过少,模型可能 “欠拟合”(无法捕捉数据 ...
2025-10-14在数字化浪潮中,数据分析师已成为企业 “从数据中挖掘价值” 的核心角色 —— 他们既要能从海量数据中提取有效信息,又要能将分 ...
2025-10-14在企业数据驱动的实践中,“指标混乱” 是最常见的痛点:运营部门说 “复购率 15%”,产品部门说 “复购率 8%”,实则是两者对 ...
2025-10-14在手游行业,“次日留存率” 是衡量一款游戏生死的 “第一道关卡”—— 它不仅反映了玩家对游戏的初始接受度,更直接决定了后续 ...
2025-10-13