大数据时代你不得不了解的大数据处理工具

  如今Apache Hadoop已成为大数据行业发展背后的驱动力。Hive和Pig等技术也经常被提到,但是他们都有什么功能,为什么会需要奇怪的名字(如Oozie,ZooKeeper、Flume)。

  Hadoop带来了廉价的处理大数据(大数据的数据容量通常是10-100GB或更多,同时数据种类多种多样,包括结构化、非结构化等)的能力。但这与之前有什么不同?

  现今企业数据仓库和关系型数据库擅长处理结构化数据,并且可以存储大量的数据。但成本上有些昂贵。这种对数据的要求限制了可处理的数据种类,同时这 种惯性所带的缺点还影响到数据仓库在面对海量异构数据时对于敏捷的探索。这通常意味着有价值的数据源在组织内从未被挖掘。这就是Hadoop与传统数据处 理方式最大的不同。

  本文就重点探讨了Hadoop系统的组成部分,并解释各个组成部分的功能。

  MapReduce----Hadoop的核心

  Google的网络搜索引擎在得益于算法发挥作用的同时,MapReduce在后台发挥了极大的作用。MapReduce框架成为当今大数据处理背 后的最具影响力的"发动机"。除了Hadoop,你还会在MapReduce上发现MPP(Sybase IQ推出了列示数据库)和NoSQL(如Vertica和MongoDB)。

  MapReduce的重要创新是当处理一个大数据集查询时会将其任务分解并在运行的多个节点中处理。当数据量很大时就无法在一台服务器上解决问题, 此时分布式计算优势就体现出来。将这种技术与Linux服务器结合可获得性价比极高的替代大规模计算阵列的方法。Yahoo在2006年看到了 Hadoop未来的潜力,并邀请Hadoop创始人Doug Cutting着手发展Hadoop技术,在2008年Hadoop已经形成一定的规模。Hadoop项目再从初期发展的成熟的过程中同时吸纳了一些其他 的组件,以便进一步提高自身的易用性和功能。

  HDFS和MapReduce

  以上我们讨论了MapReduce将任务分发到多个服务器上处理大数据的能力。而对于分布式计算,每个服务器必须具备对数据的访问能力,这就是HDFS(Hadoop Distributed File System)所起到的作用。

  HDFS与MapReduce的结合是强大的。在处理大数据的过程中,当Hadoop集群中的服务器出现错误时,整个计算过程并不会终止。同时 HFDS可保障在整个集群中发生故障错误时的数据冗余。当计算完成时将结果写入HFDS的一个节点之中。HDFS对存储的数据格式并无苛刻的要求,数据可 以是非结构化或其它类别。相反关系数据库在存储数据之前需要将数据结构化并定义架构。

  开发人员编写代码责任是使数据有意义。Hadoop MapReduce级的编程利用Java APIs,并可手动加载数据文件到HDFS之中。

  Pig和Hive

  对于开发人员,直接使用Java APIs可能是乏味或容易出错的,同时也限制了Java程序员在Hadoop上编程的运用灵活性。于是Hadoop提供了两个解决方案,使得Hadoop编程变得更加容易。

  •Pig是一种编程语言,它简化了Hadoop常见的工作任务。Pig可加载数据、表达转换数据以及存储最终结果。Pig内置的操作使得半结构化数据变得有意义(如日志文件)。同时Pig可扩展使用Java中添加的自定义数据类型并支持数据转换。

  •Hive在Hadoop中扮演数据仓库的角色。Hive添加数据的结构在HDFS(hive superimposes structure on data in HDFS),并允许使用类似于SQL语法进行数据查询。与Pig一样,Hive的核心功能是可扩展的。

  Pig和Hive总是令人困惑的。Hive更适合于数据仓库的任务,Hive主要用于静态的结构以及需要经常分析的工作。Hive与SQL相似促使 其成为Hadoop与其他BI工具结合的理想交集。Pig赋予开发人员在大数据集领域更多的灵活性,并允许开发简洁的脚本用于转换数据流以便嵌入到较大的 应用程序。Pig相比Hive相对轻量,它主要的优势是相比于直接使用Hadoop Java APIs可大幅削减代码量。正因为如此,Pig仍然是吸引大量的软件开发人员。

  改善数据访问:HBase、Sqoop以及Flume

  Hadoop核心还是一套批处理系统,数据加载进HDFS、处理然后检索。对于计算这或多或少有些倒退,但通常互动和随机存取数据是有必要的。 HBase作为面向列的数据库运行在HDFS之上。HBase以Google BigTable为蓝本。项目的目标就是快速在主机内数十亿行数据中定位所需的数据并访问它。HBase利用MapReduce来处理内部的海量数据。同 时Hive和Pig都可以与HBase组合使用,Hive和Pig还为HBase提供了高层语言支持,使得在HBase上进行数据统计处理变的非常简单。

  但为了授权随机存储数据,HBase也做出了一些限制:例如Hive与HBase的性能比原生在HDFS之上的Hive要慢4-5倍。同时 HBase大约可存储PB级的数据,与之相比HDFS的容量限制达到30PB。HBase不适合用于ad-hoc分析,HBase更适合整合大数据作为大 型应用的一部分,包括日志、计算以及时间序列数据。

  获取数据与输出数据

  Sqoop和Flume可改进数据的互操作性和其余部分。Sqoop功能主要是从关系数据库导入数据到Hadoop,并可直接导入到HFDS或Hive。而Flume设计旨在直接将流数据或日志数据导入HDFS。

  Hive具备的友好SQL查询是与繁多数据库的理想结合点,数据库工具通过JDBC或ODBC数据库驱动程序连接。

  负责协调工作流程的ZooKeeper和Oozie

  随着越来越多的项目加入Hadoop大家庭并成为集群系统运作的一部分,大数据处理系统需要负责协调工作的的成员。随着计算节点的增多,集群成员需要彼此同步并了解去哪里访问服务和如何配置,ZooKeeper正是为此而生的。

  而在Hadoop执行的任务有时候需要将多个Map/Reduce作业连接到一起,它们之间或许批次依赖。Oozie组件提供管理工作流程和依赖的功能,并无需开发人员编写定制的解决方案。

  Ambari是最新加入Hadoop的项目,Ambari项目旨在将监控和管理等核心功能加入Hadoop项目。Ambari可帮助系统管理员部署和配置Hadoop,升级集群以及监控服务。还可通过API集成与其他的系统管理工具。

  Apache Whirr是一套运行于云服务的类库(包括Hadoop),可提供高度的互补性。Whirr现今相对中立,当前支持Amazon EC2和Rackspace服务。

  机器学习:Mahout

  

  各类组织需求的不同导致相关的数据形形色色,对这些数据的分析也需要多样化的方法。Mahout提供一些可扩展的机器学习领域经典算法的实现,旨在帮助开发人员更加方便快捷地创建智能应用程序。Mahout包含许多实现,包括集群、分类、推荐过滤、频繁子项挖掘。

  使用Hadoop

  通常情况下,Hadoop应用于分布式环境。就像之前Linux的状况一样,厂商集成和测试Apache Hadoop生态系统的组件,并添加自己的工具和管理功能。

时间: 2024-09-27 10:38:41

大数据时代你不得不了解的大数据处理工具的相关文章

大数据时代从比特搬运工到大数据运营者

文章讲的是大数据时代从比特搬运工到大数据运营者,有人说,大数据就像20世纪的石油那样,是一种战略资源.但20世纪之前的历史长河中,石油根本不是战略资源,甚至连一般性的资源也算不上.改变石油命运的,是100多年前内燃机的发明. 走进"第四个"大数据时代 现在所说的大数据,都是指"数字化"的信息.如果把"数据巨大"."类型繁多"."单位价值下降"和"处理及时"的非数字化的信息也认为是大数据,

《大数据时代》畅销以来,大数据赢得了难以想象的关注度

自从舍恩伯格的<大数据时代>畅销以来,"大数据"赢得了难以想象的关注度.但同时,从实务的角度来看又有一点难以落地的感觉.这其中的原因,在于很多公司仍然没有建立起数据的收集到应用的基础设施包括工具和人才配置,尤其是在实战层面上未对大数据有较为客观和理智的认知,吹捧它的人认为它无所不能,在各种场合反复讲解一些高大上的案例,而质疑它的人则认定现有结构化数据就能说明关键问题,从而对其不以为意.事实上,大数据的应用既不便宜,也存在一定的缺陷,更未能充分提升商业的价值,反而大数据其实更

大数据时代不是互联网公司的大数据时代

安全是大数据时代最大的问题.如果没有安全,用户数据.用户信息等就是随时反过来伤害用户的"定时炸弹" 最近一段时间,每天都有互联网漏洞.后门.用户信息泄露的新闻.甚至手机丢了,绑定的银行卡密码也会被破译的消息也普遍流行. 未来这样的新闻会更多,因为互联网大数据时代大幕已开启. 大数据,是今年互联网领域的一个热词,与之并驾齐驱的另外两个热词分别是互联网金融.互联网思维.其中互联网思维与企业转型相关,互联网金融挑战的是传统银行的傲慢,但与用户体验最为密切相关的是大数据的应用. 作为互联网大数

“大数据”时代:小型科技企业大机遇 赢谷歌微软青睐

北京时间8月12日消息,据最新一期出版的美国财经杂志<巴伦周刊>发表专栏作家为蒂尔南•雷(Tiernan Ray)的文章称,在分析师普遍认为"大数据"市场将迎来一段平稳发展期时,包括Mellanox和Fusion-io在内的小型科技企业可能会再次掀起大数据市场的新一轮发展浪潮.而在"大数据"盛行背景下的全球PC产业内部,英伟达(Nvidia)则成为最令人惊喜的大型科技公司之一. 以下是文章内容全文: 作为<巴伦周刊>的科技专栏作家,我的责任之

Science:大数据时代的网络分析,如何挖掘大数据?

我们生活在一个互联实体(entities)构成的复杂世界中.人类涉足的所有领域,从生物学到医学.经济学和气候科学,都充满了大规模数据集. 这些数据集将实体(entities)模拟为节点.节点之间的连接被模拟为边(edges),从不同且互补的角度描述着复杂的真实世界系统.这些网络化数据是特定领域信息的新的丰富来源,不过,目前,大部分信息却隐藏在这种复杂连接模式(wiring patterns)中. 首当其冲的就是解码这些模式,因为计算分析大型网络通常会很棘手,以至于我们关于这个世界的许多疑问都无法

大数据时代比较教育研究范式的转型

随着互联网和信息技术的发展,大数据正在影响着政治.经济.教育.科技.文化.医疗等社会生活的各个领域.为了应对大数据的挑战,各国纷纷将大数据研究提升为国家战略,例如,美国政府在2012年3月29日率先发布了<大数据研究和发展计划>,决定投资2亿多美元开展大数据研究.大数据将改变人们的生活.工作和思维方式,就科学研究来说,大数据将引发科学研究范式的转变. 一.大数据时代的科学研究范式及其对比较教育研究的挑战 "范式"(Paradigm)是由科学哲学家托马斯·库恩(Thomas

大数据时代的教育变革:挑战、趋势及风险规避

2011年5月,美国的麦肯锡咨询公司发布<大数据:创新.竞争和生产力的下一个前沿领域>报告,开启了大数据产业界的先河.这份报告认为,大数据是大小超出了传统数据库软件工具的获取.存储.管理和分析能力的数据集①.国际数据公司据此总结出大数据的四大特征:大量化.多样化.快速化.价值化.相对过去的小数据,大数据体现的是一种快速搜集.处理和利用复杂信息的能力.2012年3月,奥巴马政府发布<大数据研究和发展计划>,将大数据上升为国家战略.2013年被称作大数据时代的元年,信息技术进入一个崭新

大数据时代的教育宏观治理体制现代化变革

随着云计算.大数据等新技术逐渐兴起,人类社会的信息化进程由计算机时代.互联网时代逐步迈向大数据时代.大数据作为新一代信息技术的集中反映,被视为具有无穷潜力的新兴产业领域,能为我国实现跨越式发展提供宝贵机会.[1]大数据正在深刻地改变着人们的思维方式和行为方式,也正在孕育着教育治理体系和教育治理能力的现代化变革.由于制度问题带有根本性.全局性.稳定性和长期性,随着大数据时代的到来,推进我国教育宏观治理体制在大数据时代的现代化变革,不仅是一个全新而重要的时代命题,而且具有重要的理论价值和现实意义.

CIO时代APP微讲座:南京邮电大学李涛深度解读大数据时代的数据挖掘

3月13日下午,南京邮电大学计算机学院.软件学院院长.教授李涛在CIO时代APP微讲座栏目作了题为<大数据时代的数据挖掘>的主题分享,深度诠释了大数据及大数据时代下的数据挖掘. 众所周知,大数据时代的大数据挖掘已成为各行各业的一大热点. 一.数据挖掘 在大数据时代,数据的产生和收集是基础,数据挖掘是关键,数据挖掘可以说是大数据最关键也是最基本的工作.通常而言,数据挖掘也称为Data Mining,或知识发现Knowledge Discovery from Data,泛指从大量数据中挖掘出隐含的