Apache Hadoop:[url]http://hadoop.apache.org/[/url]在近几年已成为大数据行业发展背后的驱动力。各行业对hadoop的广泛应用以及开发出自己的大数据产品.Hadoop带来了廉价的处理大数据(数据容量通常是10-100GB或更多,同时数据种类多种多样,包括结构化、非结构化等)的能力。现今企业数据仓库和关系型数据库擅长处理结构化数据,并且可以存储大量的数据。但成本昂贵。Hadoop核心还是一套批处理系统,数据加载进HDFS、处理然后检索。
该项目包括如下模块:
Hadoop Common: 支持其它hadoop模块的公用工具.
Hadoop Distributed File System (HDFS™):分布式文件系统。
Hadoop YARN: 负责作业调度和集群资源管理的框架
Hadoop MapReduce: 基于YARN并行处理大型数据集系统
其它相关的项目包括:
Ambari™:基于web的工具,用于配置、管理和监控Apache Hadoop集群,包括Hadoop HDFS, Hadoop MapReduce, Hive, HCatalog, HBase, ZooKeeper, Oozie, Pig and Sqoop的支持。
Avro™-数据序列化系统。
Cassandra™:没有单点故障可伸缩的多主机数据库
Chukwa™:管理大量分布系统的数据采集系统
HBase™:支持结构化数据存储的可伸缩的、分布式数据库
Hive™:数据仓库基础设施提供了数据查询等
Mahout™:可扩展的机器学习和数据挖掘库
Pig™:用于并行计算的高级数据流语言和执行框架
ZooKeeper™:为高性能分布式应用程序的协调服务
[size=large][color=darkred] [b][i][u]核心记忆下Hadoop系统的组成部分及功能[/u][/i][/b][/color][/size]
1、MapReduce—Hadoop的核心
具体流程:输入文件 ->映射阶段(map)->存储->归并阶段(reduce)->输出文件
MapReduce的重要创新是当处理一个大数据集查询时会将其任务分解并在运行的多个节点中处理。当数据量很大时就无法在一台服务器上解决问题,这时候分布式计算优势就体现出来了
2、HDFS
具体流程:NameNode -> hdfs ->map/reduce工作
各台服务器必须具备对数据的访问能力,这就是HDFS所起到的作用.HDFS与MapReduce的结合是强大的。在处理大数据的过程中,当Hadoop集群中的服务器出现错误时,整个计算过程并不会终止。同时 HFDS可保障在整个集群中发生故障错误时的数据冗余。当计算完成时将结果写入HFDS的一个节点之中。HDFS对存储的数据格式并无苛刻的要求,数据可 以是非结构化或其它类别。
3、PIG和HIVE
PIG是一种编程语言,Pig可加载数据、表达转换数据以及存储最终结果。Pig内置的操作使得半结构化数据变得有意义(比如:日志文件)。同时Pig可扩展使用Java中添加的自定义数据类型并支持数据转换。
Hive在Hadoop中扮演数据仓库的角色。Hive添加数据的结构在HDFS(hive superimposes structure on data in HDFS),并允许使用类似于SQL语法进行数据查询(HiveQL)。跟Pig类似,Hive的核心功能也是可扩展的。
Hive具备的友好SQL查询是与繁多数据库的理想结合点,数据库工具通过JDBC或ODBC数据库驱动程序连接。
4、HBase
HBase作为面向列的数据库运行在HDFS之上。项目的目标就是快速在主机内数十亿行数据中定位所需的数据并访问它。HBase利用MapReduce来处理内部的海量数据。同 时Hive和Pig都可以与HBase组合使用,Hive和Pig还为HBase提供了高层语言支持,使得在HBase上进行数据统计处理变的相对要简单。HBase不适合用于ad-hoc分析,HBase更适合整合大数据作为大 型应用的一部分,包括日志、计算以及时间序列数据
5、Sqoop
主要是从关系数据库导入数据到Hadoop,并可直接导入到HFDS或Hive
6、ZooKeeper(负责协调工作流程)
大数据处理系统需要ZooKeeper负责协调工作,计算节点的增多,集群成员需要彼此同步并了解去哪里访问服务和如何配置
7、MHout
Mahout提供一些可扩展的机器学习领域经典算法的实现。Mahout包含许多实现,包括集群、分类、推荐过滤、频繁子项挖掘。
该项目包括如下模块:
Hadoop Common: 支持其它hadoop模块的公用工具.
Hadoop Distributed File System (HDFS™):分布式文件系统。
Hadoop YARN: 负责作业调度和集群资源管理的框架
Hadoop MapReduce: 基于YARN并行处理大型数据集系统
其它相关的项目包括:
Ambari™:基于web的工具,用于配置、管理和监控Apache Hadoop集群,包括Hadoop HDFS, Hadoop MapReduce, Hive, HCatalog, HBase, ZooKeeper, Oozie, Pig and Sqoop的支持。
Avro™-数据序列化系统。
Cassandra™:没有单点故障可伸缩的多主机数据库
Chukwa™:管理大量分布系统的数据采集系统
HBase™:支持结构化数据存储的可伸缩的、分布式数据库
Hive™:数据仓库基础设施提供了数据查询等
Mahout™:可扩展的机器学习和数据挖掘库
Pig™:用于并行计算的高级数据流语言和执行框架
ZooKeeper™:为高性能分布式应用程序的协调服务
[size=large][color=darkred] [b][i][u]核心记忆下Hadoop系统的组成部分及功能[/u][/i][/b][/color][/size]
1、MapReduce—Hadoop的核心
具体流程:输入文件 ->映射阶段(map)->存储->归并阶段(reduce)->输出文件
MapReduce的重要创新是当处理一个大数据集查询时会将其任务分解并在运行的多个节点中处理。当数据量很大时就无法在一台服务器上解决问题,这时候分布式计算优势就体现出来了
2、HDFS
具体流程:NameNode -> hdfs ->map/reduce工作
各台服务器必须具备对数据的访问能力,这就是HDFS所起到的作用.HDFS与MapReduce的结合是强大的。在处理大数据的过程中,当Hadoop集群中的服务器出现错误时,整个计算过程并不会终止。同时 HFDS可保障在整个集群中发生故障错误时的数据冗余。当计算完成时将结果写入HFDS的一个节点之中。HDFS对存储的数据格式并无苛刻的要求,数据可 以是非结构化或其它类别。
3、PIG和HIVE
PIG是一种编程语言,Pig可加载数据、表达转换数据以及存储最终结果。Pig内置的操作使得半结构化数据变得有意义(比如:日志文件)。同时Pig可扩展使用Java中添加的自定义数据类型并支持数据转换。
Hive在Hadoop中扮演数据仓库的角色。Hive添加数据的结构在HDFS(hive superimposes structure on data in HDFS),并允许使用类似于SQL语法进行数据查询(HiveQL)。跟Pig类似,Hive的核心功能也是可扩展的。
Hive具备的友好SQL查询是与繁多数据库的理想结合点,数据库工具通过JDBC或ODBC数据库驱动程序连接。
4、HBase
HBase作为面向列的数据库运行在HDFS之上。项目的目标就是快速在主机内数十亿行数据中定位所需的数据并访问它。HBase利用MapReduce来处理内部的海量数据。同 时Hive和Pig都可以与HBase组合使用,Hive和Pig还为HBase提供了高层语言支持,使得在HBase上进行数据统计处理变的相对要简单。HBase不适合用于ad-hoc分析,HBase更适合整合大数据作为大 型应用的一部分,包括日志、计算以及时间序列数据
5、Sqoop
主要是从关系数据库导入数据到Hadoop,并可直接导入到HFDS或Hive
6、ZooKeeper(负责协调工作流程)
大数据处理系统需要ZooKeeper负责协调工作,计算节点的增多,集群成员需要彼此同步并了解去哪里访问服务和如何配置
7、MHout
Mahout提供一些可扩展的机器学习领域经典算法的实现。Mahout包含许多实现,包括集群、分类、推荐过滤、频繁子项挖掘。