你应该知道的Hadoop历史 及深入分析大数据集成与安全问题
译者:孙薇 本文为小象科技原创作品
万维网信息爆炸般闯入了我们的生活,就像一个巨大的玩具盒,里面应有尽有。网络早期只有几百页,手工就能索引查询;到现在页面飙升至数百万级别,每天还有数千的新增页面,想要找到某样东西的时候,如何搜寻就成了挑战。像雅虎和谷歌这样的搜索引擎首先发现了这件事:想要让网络可用而易控,需要自动化处理大数据的办法——保存、阐释信息,对其分类并通过命令检索。需求产生:人们需要更优秀的自动化搜索引擎。
正是这种需求推动着Hadoop的开发。Hadoop是一个开源框架,可以存储巨量数据,同时通过相互关联电脑所组成的分布式网络,运行关联程序以完成大数据任务。这个框架一开始是另一个大项目的一部分,由数据库管理专家Mike Cafarella与开源技术的支持者DougCutting所构建。两人一起创建了一个名叫Nutch的网络爬虫与分析系统,该系统使用集群运算(在许多相互连接的机器上进行数据分布与处理)同时执行多项任务。
这正是网络——特别是搜索引擎所需要的。事实上,与此同时谷歌也在研究使用自动化与分布式运算来更快、更好、更高效地处理大数据。在2006年,Cutting去了雅虎公司,他把Nutch系统也带了过去。最后,Nutch演化成了两个系统:驱动雅虎的搜索功能的网络爬虫系统,和分布式处理系统Hadoop。(Hadoop这个名字来自Cutting儿子的玩具,他有一只黄色毛绒大象就叫这个名字。)雅虎将Hadoop发布到开源社区中,一并还发布了一系列相关的科技。而Hadoop现由Apache软件基金会维护。
Hadoop由四个核心科技组成:
Hadoop Common :包括函数库与工具功能,对Hadoop的其他模块提供支持。
Hadoop分布式文件系统(HDFS) :就像它的名字那样,是Hadoop的文件系统。HDFS基于Java,具有高度可扩展性,允许在未经预先安排的多台计算机上存储数据——本质上是打造一个类似单文件系统运作的节点社区。
MapReduce 是一个使用并行方式处理大数据集的编程模型,可处理结构化与非结构化数据集,具有可靠性与高容错性。
YARN 的全称是“另一种资源协调方式”,就像名字一样,它是一种资源管理框架,用来处理多个分布式架构发送的资源请求调度,而这些分布式架构正是Hadoop的一部分。
Hadoop还集成了一些专门面向大型数据集支持的其他处理与支持应用。其中包括有:
数据存取
编程语言Pig (包括PigLatin脚本语言)专为数据分析设计,无需花费大量时间构建映射和化简操作,即可处理任何类型的数据。
HIVE 是一个类似SQL的查询语言,它将SQL语句编译到MapReduce中,再跨集群分发出去。
Flume 从应用中收集大量数据,并将它们转入HDFS文件系统中。
Spark 是一个开源集群运算系统,在某些情况下进行数据分析时比MapReduce快100倍。
Sqoop 是一种数据传输工具,可以提取、加载并转换结构化数据;
Hbase 是一个非关系型非SQL数据库,在HDFS上运行,可支持大型表格;
Avro 是一个序列化数据系统;
DataTorrent 流式处理软件;
Chukwa 是一个数据收集系统,在大型的分布式系统上运作;
Tez 是一个广义的数据流框架,运用Hadoop模块YARN来执行任务,以批处理与交互使用模式处理数据。
搜索
Solr是Apache旗下强大的企业级搜索平台,具有可靠性与可扩展性,同时在搜索时可以对结果高亮显示、提供索引、执行中央系统配置、故障转移与恢复例行程序。
管理
名叫ZooKeeper™的高性能分布式应用程序协调服务;Kerberos认证协议;工作流管理工具Oozie;
大数据与Hadoop
早期讨论过大数据为互联网提供了商业力量。所有通过电子商务、社交媒体与用户行为这些东西所产生的数据,如果没有应用进行解读,在商业上几乎毫无价值。尽管的确有真实或者能感知到的缺点,Hadoop在管理大数据的核心科技方面确实居于领先地位。它的分布式框架在收集与管理互联网信息方面非常理想。然而,截止2015年7月份,在企业选用的大数据管理平台中,Hadoop仅位居第三,排在企业数据仓库与云计算之后。
Hadoop不仅是数据管理工具,还是一个框架,它允许使用者进行大量数据的收集与存储,并为数据分析软件的接入提供了接口 。由于它是技术生态系统的一部分,它的效用大多取决于生态系统中所开发与集成的工具和应用。
Mike Gualatieri是Forrester的一名分析员,他将 Hadoop描述为“数据运营系统 ”,特别需要处理大量网络产生与收集的数据。不过Gualtieri补充道:Hadoop还有更多用处,它是一个应用平台,专门为大数据处理类的应用所设置。
由于Hadoop是一个框架,可以添加处理分析数据的应用与模块,将数据录入的方式很多 。你可以使用简单的Java命令,使用“put”命令来写shell脚本,挂载使用HDFS的文件,通过“put”命令将文件复制过去,或者使用专为Hadoop设计的Sqoop、Flume或统计分析系统(SAS)数据加载器。一旦数据复制完成,你就可以随意运用数据处理方案,具体要根据你的目的:是要分析、查询、发送还是趋势识别。基本上,你想要执行的所有命令都能通过Hadoop的插件或模块来执行。
Hadoop潜力巨大,不过也面临着一些挑战。最重要的是,在部署上它的确还是一项新技术。很多注意到Hadoop并想采用它作为大数据收集、存储、处理和分析框架的企业发现,他们缺乏相应的专业人才来进行相关的整合。开源平台经常会遇到这一问题。一家公司希望别的企业采用他们的专利技术时,就会对销售人员、售后支持、训练人员与其他专家进行投资,让购买者对产品效用最大化。那些专家可以接触到核心的开发团队,帮助他们在专业技能上更进一步。
而在开源技术中,尽管很多公司为其开发应用,相关专家仍需从各个渠道收集信息来掌握专业技能。很多私企会产出大量的个体解决方案。开发者的公司在部署组件添加、模块与分布方面的确有专业人才。但是能帮助没接触过大数据管理的企业决定使用哪个系统的专家在哪里呢?尽管开发者公司也许会宣传核心科技,不过获取知识与专业技能仍缺乏独立的来源。理论上这会令人生畏,不过实际上随着Hadoop在商界的势头发展,相关的专家每天都在增加。也就是说,这只是个短期问题,等到技术成熟后会自然解决。
Hadoop面临的其他挑战包括其MapReduce技术在交互分析方面并不太优秀这一事实。作为独立技术MapReduce的效果并不太好,尽管它提供了强大的支持。它的原理是将大数据集分割成很多较小的部分,在很多情况下可能会导致性能下降。不过就像我们所看到的,还有很多替代方案,比如Spark。而且未来可能会有更多的替代方案,在MapReduce不太理想的时候取代它。
大数据从出现开始就有安全问题,取决于数据集的规模与数据来源的数量。这并不是Hadoop独有的问题,尽管分布式计算模型确实撬开了安全这扇大门。不过随着软件开发,像Kerberos认证这样的机制逐渐开始解决这类问题。
尽管新科技总有种种缺陷,框架正是由于能为开发者提供可以填补空缺的大量机会而被称为框架。安装Hadoop的公司发现附加组件与模块可以帮助他们完成想做的事情:开发者针对问题创建新的工具。如果你在考虑Hadoop的使用,了解目前的局限是件好事,不过认识到下面两点也很重要:开发工作还在进行,同时专业人才也随着实施快速产生。
可以受惠于Hadoop的核心业务功能
在尝试描述框架时,由于像Hadoop这样的框架在集成具体功能专用的模块时才能发挥性能,描述起来多少会显得有些模糊。查看一些Hadoop在一些常见的核心业务流程中使用的真实用例会很有帮助。
企业数据管理 :每个大公司都会有数据仓库,几乎每个都在努力解决自家的数据管理问题。Hadoop提供了一种数据操作系统,允许用户执行提取、加载、转化(ELT)功能。也就是说Hadoop在查询与分析系统中提供了查找、收集、识别、上传、标准化、存储、再利用与服务数据的方式。MapR数据中心架构允许以上功能使用的同时,还允许数据以任何源生格式存储,增加数据的灵活性与弹性。
风险管理与风险建模: 诈骗技术从未停止演化,不过有效的大数据分析可以帮助人们更快识别出可疑的行为。通过分析来自不同源头的大量非结构化与结构化数据,可以更快地识别威胁并执行预防措施。不仅可以分析一种类型的数据,比如个人商务;Hadoop可以集成从额外非结构化的来源,比如求助热线、客户与客服的对话、电子邮件、网络活动、服务器日志等收集到的数据,用以分辨用户模式。更重要的是,违反正常的行为模式可能意味着出现了安全风险。金融服务部门在Hadoop上投入了大量资金,协助风险分析。在Hadoop上可以建立复杂的机器学习模块,用以处理来自不同与差异化来源、数以百计甚至千计的指示器。
用户流失率与情感分析: 在理解影响用户流失率的因素方面,以及通过寻找模式与趋势来理解其意义方面,企业投入良多。术语“用户流失率”试图通过数据化将用户流失量化。这个数字能告诉公司用户流失的情况是否在正常范围内,但是无法解释流失的原因。通过从不同来源收集大量数据,还是通过电话、聊天、电子邮件和其他来源与用户交互的行为,公司可以对比流失数据,找到能够解决的问题。比如,他们能够知道是因为某个特定问题产品或者政策导致用户离开,或者公司没有提供用户所需的某种服务。通过调取热线记录就能定位具体的问题,再通过社交媒体页面找到寻求帮助的人数,进行对比。同时还能分析人们在不同的互动场所要求客户服务的情绪。实时数据甚至可以用来调整客户服务,以便尽可能提高客户留存率。
有针对性的广告与广告效果分析 :客户行为可以帮助企业进行有针对性的广告,提高广告效果,不过为了让网络广告成功而进行数据与预测分析,需要从多渠道收集数据并分析。社交网络挖掘、广告点击和通过调查获得的客户行为和偏好只是协助广告有针对性投放的一部分数据。MapR分布可以提取多渠道的数据,并将其格式化以用于分析,允许公司通过最有效的方式来执行广告目标,包括部署有效的推荐引擎、人气聚集、预测趋势分析等。
运营的洞察力与智能化 :由于比较封闭,大公司在分析与提高运营方式上都很困难。由于运营时完全不同,来自不同部门的信息需要规范化才能相互比较。使用Hadoop之后,可以使用来自不同部门的细节标准与数据,使用MapReduce建立环境,提取经营效率中的有意义信息。公司可以找出成功与失败的模式,从而在工作流、部门互动与内部功能方面进行提高,以增加企业效益。Hadoop的大数据分析允许企业查看供应链物流、质量保证程序与基础设施的性能,从而找出劣势与预测可能会出现问题的地方。MapR集合了高可用性(HA)、数据保护与灾难复原(DR)功能,防止出现硬件故障或者站点范围内的失败。
大数据管理的未来还有很多可能性,最有可能的就是成长与成熟起来。像Hadoop这样的开源框架为开发提供了无限可能,加上背后有Apache系统这样的强大管理集团支持,大家可以期待Hadoop集成越来越多的模块与技术,支持公司实现大数据的目标,前景甚至有可能大大超出今天所能想象到的。
原文标题:Managing Big Data Integration and Security with Hadoop
End.