如今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生态系统的组件,并添加自己的工具和管理功能。(李智/编译)
转自:http://blog.csdn.net/fwj380891124/article/details/7278956
相关推荐
Apache Hadoop 是一个开源框架,专门设计用于处理...通过 MapReduce、HDFS、Pig、Hive、HBase、Sqoop 和 Flume 等组件的协同工作,Hadoop 能够有效地管理和分析大规模、多样化的大数据,推动了现代数据驱动业务的发展。
通过以上内容,我们可以了解到Hadoop作为一种重要的大数据处理工具,在解决大数据问题方面发挥着至关重要的作用。无论是对于想要进入这个领域的专业人士还是已经在行业内工作的人员来说,掌握Hadoop及其相关技术都是...
以下知识点将帮助你更快地了解Hadoop,以及如何在不同的操作系统上安装和配置Hadoop集群。 首先,了解Hadoop的基础架构是至关重要的。Hadoop由几个核心组件构成,其中最核心的两个是Hadoop分布式文件系统(HDFS)和...
描述中提到,作者经历了复杂的过程才成功编译出适用于Windows的Hadoop,由于文件大小限制,不得不从原本的hadoop2.8降级到hadoop2.7.6进行分享。 Hadoop的核心由两个主要组件构成:HDFS(Hadoop Distributed File ...
通过这本书的内容,读者可以了解到如何使用Hadoop生态系统中的各种工具来处理大数据问题。解决方案和代码示例是实际工作场景中的应用,这将大大帮助那些希望在大数据处理领域提升技能的专业人士。
- 可能还包括对大数据组件(如Hadoop、Spark等)的管理,如集群扩容、任务调度、日志分析等。 4. **技术支持**: - 用户在发现文档错误或需要帮助时,可以直接联系阿里云获取支持。 - 文档中可能还包括了故障...
通过这些知识点,我们可以看到Hadoop是一个强大的工具,用于处理和分析大数据。它包含了一系列组件,并且拥有一个由各种技术组成的生态系统,能够支持从数据存储、访问到复杂分析的各种需求。同时,Hadoop的使用受到...
该竞赛围绕大数据的核心内容,结合互联网、云计算的产业背景,通过模拟真实业务场景,检验学生的业务分析、Hadoop 平台操作、数据处理和可视化展示等多方面技能。 竞赛的目的在于响应国家政策,如“互联网+”行动...
- 用户可能需要了解如何创建和管理大数据集群,配置Hadoop、Spark等组件,以及优化大数据作业的执行效率。 5. **安全性**: - 运维过程中,确保数据安全和系统安全至关重要,可能需要实施访问控制、数据加密、...
赛项选取典型的大数据应用业务分析应用场景,重点检验参赛选手掌握大数据业务分析方法和数据分析能力、了解 Hadoop 基本配置与相关工具软件解决具体业务问题的能力,激发学生对大数据知识和技术的学习兴趣,提升学生...
- **集群搭建**:竞赛要求参赛者掌握大数据集群的搭建与维护,包括基本环境配置、Zookeeper安装、Hadoop安装、HBase安装等关键步骤。 - **数据仓库构建**:竞赛还涉及如何在集群环境中构建高效稳定的数据仓库,包括...
在2013年中国的大数据技术大会上,LinkedIn核心团队成员俞晨杰就“LinkedIn...通过这次演讲,与会者可以了解到LinkedIn在大数据领域的实践经验,以及如何利用Hadoop和Azkaban等工具高效地管理和分析大规模数据集。
通过集成多种大数据工具和技术,BCC简化了大数据环境的运维工作,支持企业快速构建和部署大数据应用。 2. **主要功能** - **数据存储**:提供高效、安全的存储服务,支持多种数据格式,如HDFS、HBase、RDS等。 - ...
综上所述,Hadoop和Solr是大数据领域中极为重要的技术工具,它们各自扮演不同的角色,通过相互配合,使得处理和搜索大规模数据集成为可能。通过集成这两个技术,可以为企业提供强大的数据存储、处理和搜索能力。
- **兼容生态**:无缝对接Hadoop和Spark生态,支持多种大数据工具和框架。 3. **产品架构** E-MapReduce构建在阿里云专有云企业版之上,由计算节点、存储节点和管理节点组成。计算节点负责执行计算任务,存储节点...
企业希望招募的员工不仅能够熟练使用Spark等大数据工具,还要了解如何在实际工作中结合业务需求进行数据处理和分析,以及如何将数据科学和数据工程的技能应用到现实问题中去。此外,团队协作能力以及对特定行业的...
使用阿里云专有云企业版V3.6.2大数据管家的产品文档需要遵守严格的法律条款,包括但不限于只允许通过官方渠道获取和使用文档,保守文档内容的秘密,未经许可不得传播或复制,以及遵循文档的更新政策。阿里云对文档...
总的来说,阿里云专有云企业版V3.8.1大数据管家BCC是一款全方位的大数据管理工具,旨在帮助企业构建和维护高效、安全的大数据环境,提升企业的数据驱动决策能力。在使用过程中,用户需要遵守相关的法律条款,以确保...