转载

Hadoop真的适合你吗?

许多公司都在为管理海量数据不断努力。以前,他们都使用数据仓库平台,用这种传统架构在处理来自内部和外部数据源的数据时有很大困难,这些数据的结构和内容类型通常非常多样化,但Hadoop可以对此场景提供帮助。Hadoop是一款分布式处理架构,专门用来处理复杂的海量大数据,处理结构化、非结构化和半结构化数据混杂的场景。

Hadoop真的适合你吗?

Hadoop的部分优势在于,它有许多种开源组件和相关工具,可以完成数据捕获、处理、管理和分析工作。为了帮助用户利用好该框架,许多供应商提供了商业版Hadoop分布式产品,它们在Hadoop基础之上提供了性能和功能方面的扩展,并提供对该框架的维护和支持服务。

Hadoop分布式应用的案例场景

Hadoop运行在商用服务器集群环境中,这种环境通常用来支持数据分析而不是联机事务处理应用。有几种更加通用的分析应用案例可以很好地展示Hadoop分布式数据处理和并行计算模型:

  • 业务智能应用要从事务处理系统和组织资产系统中捕获流式数据,监视性能水平,应用预测分析做预备维护或者处理变更。
  • Web分析本来是为了帮助公司理解站点访问者的在线活动情况,通过检查Web服务器日志来检测系统性能问题,发掘营销信息。
  • 安全和风险管理,例如:运行分析模型把事务数据与欺诈活动模式知识库做比较,利用持续网络安全分析识别新出现的可疑行为。
  • 营销优化,包括利用大量网络点击和在线销售数据,再结合客户档案信息设计形成推荐引擎提供实时产品捆绑销售建议。
  • 物联网应用,例如从制造业设备、管道和所谓智能建筑安置的传感器终端获取数据做分析,这些传感器会持续生成并广播关于状态和性能的信息。
  • 语义分析和品牌保护,可能需要捕获流式社交媒体数据并分析文本,识别出有意见的客户提出的问题并快速解决。
  • 大数据收集、处理和整合场景,例如捕获卫星图像和地理空间数据。
  • 数据暂存,Hadoop用于做第一手数据的存储,然后才会做整合、清洗和转换为更加结构化的格式,未来加载到数据仓库或分析数据库用于分析。

Hadoop分布式应用的实现方式

支持以上这些应用场景的应用都可以基于Hadoop构建,可以使用一些典型的实现方法。说明如下:

数据湖。因为Hadoop提供了线性扩展能力,集群架构中很容易加入新数据节点做处理和存储,因此它提供了非常自然的平台用于捕获和管理原始数据文件。基于这一特性,许多用户把Hadoop系统用作捕获所有数据的平台,创造了数据湖的概念。

增强的数据仓库平台。Hadoop分布式存储还可以用于扩展数据,供数据仓库环境访问用于分析。最频繁使用的“热数据”存储在数据仓库中,而不太频繁的“冷数据”可以提交到更高延时的存储,例如Hadoop分布式文件系统。这种方法依赖于数据仓库与Hadoop集成的紧耦合。

大规模批量计算引擎。如果配置了数据和计算节点,Hadoop就变成了大规模并行处理平台,可以用于批量处理应用做数据操作和分析。数据标准化就是很好的例子,可以对数据集应用转换任务为分析做准备。算法驱动的分析应用(例如数据挖掘、机器学习、模式分析和预测模型)都可以用到Hadoop的批处理能力,因为他们都需要针对海量分布式数据文件并行处理,并叠加并行处理结果后提供最终结果集。

事件流分析处理引擎。Hadoop环境还可以配置为实时或准实时处理收到的数据流。例如,客户感受分析应用可以把多个通讯代理并行运行于Hadoop集群上,每个代理都有一套处理规则。

选择Hadoop的优势:它真的适合你吗?

Hadoop是低成本高性能的计算框架,可以处理各种IT和业务场景中组织对扩展处理能力或者扩展数据管理能力的需求。下面总结一下应用需求的特点以及建议选择的基于Hadoop分布式应用的数据管理平台。

获取和处理大数据规范集、大规模非结构化数据和流式数据。例如,捕获包含数十亿在线事件信息的Web服务器日志;跨不同数据集索引亿级文档;从众多渠道持续拉取数据流(诸如:社交媒体渠道、证券市场数据、新闻发布源和专家团队发布的内容等渠道)。

  • 排除性能障碍的需求。在传统数据仓库系统中,通常会有节流阀控制对数据的访问、延时、可用性或者贷款限制来保障应用性能,这与需要处理的数据量有关。
  • 针对性能的线性可扩展性。随着数据量的增长和用户数增加,环境性能可以随着计算能力和存储资源线性扩展是非常关键的能力,尤其是在应用程序适合并行计算的场景下更是如此。
  • 结构化数据和非结构化数据的混合场景。应用程序需要使用不同数据源的数据,包括结构化、非结构化和半结构化的数据。例如:文本数据或者服务器日志数据。
  • IT成本有效性。不需要花费购买高端服务器或者专门的硬件设备,系统架构师相信使用正常配置就可以达到可接受的性能。

Hadoop应用到企业中

尽管把Hadoop平台整合到企业应用中是完全可行的,但使用Hadoop获益仍然要考虑权衡。因为许多组织已经在传统数据仓库平台上做了巨大投资,因此引入更新的技术可能会遇到一些阻力。在引入Hadoop分布式产品供应商之前,需要先解决潜在的障碍,评估集群规模和配置需求。

例如,要判断Hadoop集群如何与组织的数据仓库和分析策略融合,判断是否可以增强现有数据仓库功能甚至替换它。另外,要判断整合和交互方面需要处理的问题,审查配置可替代物,包括是否可以更有利于实施内部Hadoop生态系统,或者基于云或者托管环境。此外,要确保你已经聘用了具备相应技能的员工或者对现有职员进行再培训。Hadoop应用开发与传统数据库开发差异是很大的。

原文  http://developer.51cto.com/art/201606/512129.htm
正文到此结束
Loading...