以Hadoop为核心:“大数据”的大承诺

  面对海量的业务数据,Hadoop和其他工具正在视图揭示深奥的企业与外部数据的关键内幕。

  在追求竞争优势的无止境征程中,企业开始求助于企业与外部数据的大型信息库来发现趋势、统计数据以及其 他帮助决定下一步行动的全面、精确的信息。这些数据以及相关工具、平台和分析技术常常被称之为“大数据”(Big Data)。如今,“大数据”这一术语在技术人员和IT经理等群体中变得越来越流行。

  虽然决策者意识到“大数据”中存在的价值,但对大多数企业而已,这一直是一种难以得到的价值。但这正是 IT部门可以发挥作用的地方。IT部门可以开发让研究人员能够深入大型数据中进行分析,并发现重要趋势的服务。换句话说,IT将证明自己是使“大数据”的 承诺变为现实的催化剂。

  “大数据”已经在多个领域证明了它的重要性和价值。像美国国家海洋与大气管理局(NOAA)、美国国家航空航天局(NASA)这样的研究机构、多家医药公司和多家能源公司都积累了大量的数据,现在每天都在利用“大数据”技术从这些数据中获取价值。

  NOAA利用“大数据”进行气象、生态系统、天气和商务研究。NASA则将“大数据”用于航空和其他领 域。医药公司和能源公司利用“大数据”获得更真实的结果,例如药品测试和地球物理分析。《纽约时报》使用“大数据”工具进行文本分析和Web信息挖掘。迪 斯尼则利用它们关联和了解跨不同商店、主题公园和Web资产的客户行为。

  “大数据”对今天企业的价值还体现在另外一方面。大型机构面临着维护海量结构化和非结构化数据(从数据 仓库中的交易数据,到雇员的微博,从供应商记录到管理文件)的需要,以遵从政府的法规。最近的几场官司更是对这种需求起到了推波助澜的作用,它们促使企业 保留大量的文档、电子邮件和其他在打官司时实施电子发现(e-Discovery)可能需要的电子通信记录(例如即时消息和IP电话)。

  也许,那些追逐“大数据”的机构面临的最大挑战是获得一种平台,这种平台可以保存与访问所有当前与未来 的信息,并高性价比地在线提交信息供分析之用。这意味着一种高可伸缩的平台。这类平台由存储技术、查询语言、分析工具、内容分析工具以及传输基础设施(其 中有很多需要由IT部门部署和维护运营的设备)构成。

  目前有许多获得这些工具的专有与开源资源。这些工具常常来自新兴厂商,但也有像亚马逊和谷歌这样的知名 云技术公司。事实上,云的使用解决了在数据存储和计算能力方面“大数据”的可伸缩性问题。但是,“大数据”不一定采用“自助式”的部署。IBM和EMC等 大厂商同样提供用于“大数据”项目的工具,这些工具的费用会很高,企业需要付出更多的部署成本。

  以Hadoop为核心

  在开源领域中,Hadoop可算是大名鼎鼎。Hadoop是由Apache软件基金会管理的一个项目,包含由谷歌驱动的、用于构建整合、组合和了解数据的平台的技术。

  从技术上看,Hadoop由两项关键服务构成:采用Hadoop分布式文件系统(HDFS)的可靠数据 存储服务,以及利用一种叫做MapReduce技术的高性能并行数据处理服务。这两项服务的共同目标是,提供一个使对结构化和复杂数据的快速、可靠分析变 为现实的基础。在许多案例中,企业将Hadoop与老的IT系统部署在一起,从而能够以有力的新方式组合新旧数据集合。Hadoop让企业可以根据自有信 息和问题定制,更容易地分析和研究复杂数据。

  Hadoop运行在商用独立的服务群集上。你可以随时添加或删除Hadoop群集中的服务器。Hadoop系统会检测和补偿任何服务器上出现的硬件或系统问题。换句话说,Hadoop是自愈系统。在出现系统变化或故障时,它仍可以运行大规模的高性能处理任务,并提供数据。

  虽然Hadoop提供了数据存储和并行处理平台,但其真正的价值来自于这项技术的添加件、交叉集成和定制实现。为此,Hadoop还提供向这一平台增加功能性和新能力的子项目,具体如下:

■Hadoop Common:支持其他Hadoop子项目的通用工具。

■Chukwa:管理大型分布式系统的数据采集系统。

■HBase:支持大型表格结构化数据存储的可伸缩、分布式数据库。

■HDFS:向应用数据提供高吞吐量访问的分布式文件系统。

■Hive:提供数据汇总和随机查询的数据仓库基础设施。

■MapReduce:用于对计算群集上的大型数据集合进行分布式处理的软件框架。

■Pig:用于并行计算的高级数据流语言和执行框架。

■ZooKeeper:用于分布式应用的高性能协调服务。

  Hadoop平台的多数实现至少包括其中的一些子项目,因为这些子项目常常是利用“大数据”所不可或缺 的。例如,大多数机构会选择使用HDFS作为主分布式文件系统,选择可以保存几十亿行数据的HBase作为数据库。而使用MapReduce则几乎是肯定 的事情,因为其引擎赋予了Hadoop平台速度和灵活性。

  利用MapReduce,开发人员可以开发跨处理器分布式群集或独立计算机的、并行处理海量非结构化数据的程序。MapReduce框架可以划分为两个功能区:其中Map具备将工作分配给分布式群集中不同节点的功能;Reduce则负责核对工作,将工作结果转化为单一值。

  MapReduce的主要优势之一是容错性。MapReduce是通过监测群集中的每个节点来实现容错性的。每个节点定期向MapReduce报告和返回完成的工作与状态更新。如果某个节点的静默时间长度超出了预期值,主节点就会发出通知,并把工作重新分配给其他节点。

  扩展Hadoop

  除了许多开源支持工具外(例如Clojure和Thrift),市场上还有几十种商用选择,虽然许多工 具是利用Hadoop为基础构建的。PricewaterhouseCoopers技术与创新中心近日发表了“大数据”模块化构建及其与IT部署和业务使 用关系的深度指南。

  Datameer是其中的一个例子。Datameer提供一种平台,用于采集与读取不同类型的大型数据 库,将它们植入到Hadoop框架中,然后提供分析这些数据的工具。Datameer实际上是寻求将Hadoop的复杂性隐藏起来,并提供运行在 Hadoop之上的分析工具。Datameer的诱人之处是超过10TB的数据源,Datameer认为在这种数据规模水平上,企业在使用传统技术进行分 析时开始遇到困难。

  另一些提供类似的“大数据”分析技术的商业厂商包括Appistry、Cloudera,、Drawn to Scale HQ、Goto Metrics、Karmasphere和Talend。3家主要数据库厂商,IBM、微软和甲骨文都支持与Hadoop的互动,尽管以不同的方式实现。 开源BI厂商Pentaho也支持Hadoop。

  适合各种规模的企业

  “大数据”的优势并不只是规模,还在于性能,无论数据集合的维数有多少。这对于直接分析非常重要,例如评估某位客户在网站上的行为来更好地了解他们需要什么支持或寻找什么产品,或者搞清当前天气和其他条件对于送货路线和时间安排的影响。

  这正是服务器集群、高性能文件系统和并行处理的用武之地。过去,这些技术过于昂贵,只能为大企业所采用。今天,虚拟化和商用硬件大大降低了使用这些技术的成本,从而使“大数据”可为中小企业所用。

  那些较小的企业还有另一条利用“大数据”分析的途径——云。“大数据”云服务开始出现,提供迅速、高效执行分析的平台和工具。

  但是,较小的企业真的需要利用“大数据”吗?答案是,需要。所有的公司都有“大数据”,不管它们是否意 识到它的存在。例如,大多数在线企业都从它们的日志文件和点击流数据中采集大量的数据。对于没有这类数据流、保存兆千字节而非兆兆字节的公司而言,“大数 据”使它们可以利用巨大的、公开的数据源宝藏。

  世界银行在线发布了其有关整个世界的统计数据,美国国会图书馆存档了自2006年3月起的所有 Twitter数据。此外,还有很多有关提供对它们的信息低成本访问的新闻,以及针对数据服务的投资。除了你自己的数据外,“大数据”技术可以用于分析这 些数据源,或者同时对两者进行分析。
以FlightCaster为例。这是一家提供更高精度航班延误预测服务的公司,在预测过程中其准确度超过了 主要航空公司的估计。FlightCaster挖掘了大量有关国内航班的海量历史数据和实时条件下的各种因素,以及其他利用大量同样可供航空公司使用的公 开数据所得到的其他专有元素。

  FlightCaster的秘密在于,其对“大数据”分析技术实际的了解和应用正确的工具实时计算结果。

  随着费用的降低和企业考虑关联数据的新途径,“大数据”分析技术将变得更加普及,这也许为小公司提供一种变成大公司的成长机制。谷歌、雅虎和 Facebook曾经都是小公司,它们因利用自己的数据和了解这些数据中的关系而迅速成长。“大数据”的许多基础来自于这些企业所开发的技术并非偶然的。 今天,这些方法通过Hadoop和其他工具广泛地提供给像您的公司这样的企业。

作者: 于翔   发布时间: 2010-09-19