企业环境下使用Hadoop进行大数据管理指南
Posted 小象
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了企业环境下使用Hadoop进行大数据管理指南相关的知识,希望对你有一定的参考价值。
译者:刘旭坤
http://www.smartdatacollective.com/jasonparms/342017/managing-big-data-integration-security-hadoop
小象科技原创作品,欢迎大家疯狂转发;
机构、自媒体平台转载务必至后台留言,申请版权
互联网的出现极大地丰富了人们地生活。互联网最初只有几百个网页,索引和搜索都可以手工进行,但现在它有数千万个网页,而且每天都在增加。这就使我们很难从互联网中找到自己需要的东西。雅虎和谷歌这样的搜索引擎最先意识到我们需要管理互联网上的内容,而且必须找到自动化的方式来存储和操作海量数据。
这也是Hadoop发展的驱动力。Hadoop可以存储海量数据而且可以使用分布式的应用对这些数据进行处理。Hadoop框架最早是由数据库管理专家Mike Cafarella和开源技术倡导者Doug Cutting发起的网络爬虫和分析系统Nutch的一部分,它使用集群技术来同时执行多个任务。
这正是搜索引擎所需要的技术,事实上谷歌公司也在寻求使用自动化和分布式计算来更快更好地完成大数据处理的方式。2006年Doug Cutting加入了雅虎公司,最终Nutch分裂为两套系统:爬虫部分被雅虎应用在了搜索功能中,分布式处理的部分就是今天的Hadoop。Hadoop是Doug Cutting儿子一个黄色大象玩具的名字,这也就是Hadoop标志的由来。雅虎之后将Hadoop开源,现在它由Apache基金会进行管理。
1、Hadoop Common:指支持其他Hadoop模块的库和工具。
2、Hadoop 分布式文件处理系统HDFS:从名字就能看出这是Hadoop使用的分布式文件处理系统。HDFS由Java开发,高度可扩展,使多个节点呈现出一个文件系统的效果。
3、MapReduce:对大数据集进行并行处理的一个编程模型,特点是可靠和高度的容错性。
4、 YARN:Hadoop使用的资源管理框架。它负责资源的请求和规划。
5、此外Hadoop还包括其他用于处理大型数据集的应用,下面列出了部分应用。
· Pig语言:使用户无需花费时间设置映射和归纳即可进行分析。
· HIVE:SQL式的查询语言,但HIVE是分布式的。
· Flume:从应用中收集大量数据并转移到HDFS文件系统中。
· Spark:数据分析应用,某些情况下处理速度超出MapReduce一百倍。
· Sqoop:用于结构化数据提取、加载和转换的应用
· Hbase:基于HDFS的一种非关系型非SQL数据库,用于支持大型表。
· Avro:用于序列化数据。
· DataTorrent:流处理平台。
· Chukwa:为大型分布式系统设计的数据收集系统。
· Tez:使用YARN的分布式计算框架。
· Solr:可扩展的企业级搜索工具。功能包括高亮、索引和错误恢复等。
管理
· ZooKeeper:为分布式应用设计的高性能协调系统。
· Kerberos:验证协议。
· Oozie:工作流程管理工具。
电子商务、社交网络以及用户活动等数据如果不加以处理其实是得不出什么有效信息的。虽然Hadoop有一些不足,但它依然是管理大数据的不二之选。分布式的架构使它成为从互联网收集和管理信息的理想选择。然而截止到2015年7月它在企业大数据管理的方案榜上只能排第三名,在企业级数据仓库和云计算之后。
Hadoop自己并不是一个数据管理工具。它是一个数据存储的框架但为数据分析软件预留了进行集成的接口。Hadoop与这些工具软件一起组成了大数据管理分析的生态系统。
有很多将数据导入Hadoop的方式:比如简单的Java命令、shell脚本、Sqoop、Flume或者SAS数据加载器。有了数据之后就可以使用需要的数据处理方式来进行处理,基本上你能想到所有的数据处理方式都能找到相应的Hadoop插件或模块来完成。
Hadoop潜力很大,但也面临着一些挑战:比如部署。很多想要使用Hadoop作为大数据收集存储分析框架的企业发现人力市场上缺少能够帮助他们进行集成的Hadoop专业人才,不过这也是开源平台普遍的一个问题。
当市面上出现一种开源技术时,很多公司会在其上开发应用并发展出某方面的专长。但是当刚刚接触大数据管理的企业面临着选择时却没有一个精通各个系统的人才来帮他们做出选择。虽然使用相同的核心技术,但各个开发商的专长并不相同。其实Hadoop还在发展的过程中,每时每刻都有Hadoop专家出现,所以长期来看这不会称为阻碍Hadoop发展的问题。
另一个问题是MapReduce技术并不擅长互动式分析而且性能并不是特别好。它基本的处理方式是将大型数据集分解成多个小型数据集,但通常这么做都会造成性能的下降。我们之前讲到了Spark,它可以被用来快速地完成MapReduce的工作,以后会有更多这样的替代产品出现。
大数据生来就因为数据集的大小和数据源有着潜在的安全问题,而且Hadoop采取的分布式架构有自己独特的安全挑战,但总的来说这不单单是Hadoop的问题。而且现在也出现了Kerberos这样的应用来解决这些问题。
新技术免不了有瑕疵,但框架之所以叫框架就是因为它为开发人员提供了自由发展的机会。企业在使用Hadoop的过程中开发人员也会根据实际问题找出自己的解决方案。如果决定使用Hadoop的话,注意现有的限制当然很重要,但更要看到它还在快速地进化和发展中。
其实企业对于一个框架背后采用了什么新技术没有多大兴趣,必须将框架与满足一定商务功能的模块进行集成才能看出某个框架的用途。下面我们就来看几个实际中的用例。
企业数据管理-所有的大企业都有自己的数据仓库但也同时面临这数据管理的难题。Hadoop提供的数据操作系统使企业可以完成提取、加载和变形操作。它使你可以根据查询语句和分析系统的要求来完成查找、收集、识别、上传、标准化和存储等操作。
客户流失与保留分析-企业非常想通过模式和趋势来了解客户流失的原因。客户流失率指的是在特定时间段内终止服务的用户数除以同一时间段内的用户总数。客户流失率意味着企业流失客户的速度是否可持续,但并不能告诉企业客户流失的原因。通过将不同数据源收集的大量数据与传统的客户调查手段结合,企业可以找出是否存在可以解决的问题,比如产品是不是有什么问题或者是否缺失了某种客户需要的服务。企业甚至可以利用实时数据来调整客服中心的配置以提供最优质的服务来留住客户。
广告与广告有效性分析-客户行为的分析可以使企业投入的广告更加有效。为了使互联网广告为企业带来效益,必须从社交网络、广告点击以及客户的偏好设置等多个数据源汲取数据并加以分析。分析的结果使企业可以实施有效的建议引擎和趋势分析等,这些都将帮助企业更好地将广告投向潜在客户。
运营智能-大型企业会逐渐变得与外部隔离形成孤岛,这就使得运营的分析和提升变得很困难。不同部门收集到的信息必须加以标准化并进行比较。使用Hadoop,企业可以选择不同粒度的信息然后使用MapReduce来提取其中有效的信息以提高运营的效率、改进工作流程、加强部门间合作并最终提高企业效益。Hadoop的大数据分析使企业能够分析自己的供应链、质量控制和基础设施中的弱点并预测潜在的问题。
大数据是未来的发展趋势,Apache管理的Hadoop为企业提供了大数据方面无限的发展可能。随着它本身和第三方模块的发展,我相信它肯定会超出你的想像。
以上是关于企业环境下使用Hadoop进行大数据管理指南的主要内容,如果未能解决你的问题,请参考以下文章
大数据系列windows环境下搭建hadoop开发环境从hadoop URL读取数据