学习笔记Hadoop—— Hadoop介绍—— Hadoop生态环境
Posted 别呀
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了学习笔记Hadoop—— Hadoop介绍—— Hadoop生态环境相关的知识,希望对你有一定的参考价值。
三、Hadoop生态环境
3.1、Apache HBase
- HBase是一个分布式的、面向列的开源数据库,该技术来源于Chang et al所撰写的Google论文"Bigtable:一个结构化数据的分布式存储系统"
- 高可靠性、高性能、面向列、可伸缩
- HDFS为HBase提供高可靠底层存储支持
- MapReduce为HBase提供高性能计算能力
- Zookeeper为HBase提供稳定服务和failover机制
存储大量的数据(>TB)
需要很高的写吞吐量
大规模数据集很好性能的随机访问(按列)
需要进行优雅的数据扩展
结构化和半结构化的数据
不需要全部的关系数据库特性,例如交叉列、交叉表,事务,连接等等
3.2、Apache Hive
- Hive是基于Hadoop的一个数据仓库工具
- 可以将结构化的数据文件映射为一张数据库表,并提供简单的sql查询功能,可以将sql语句转换为MapReduce任务进行运行
- 其优点是学习成本低,可以通过类SQL语句快速实现简单的MapReduce统计,不必开发专门的MapReduce应用,十分适合数据仓库的统计分析
- Hive定义了简单的类 SQL 查询语言,称为 HQL,它允许熟悉 SQL 的用户查询数据
- Hive 并不能够在大规模数据集上实现低延迟快速的查询,Hive 并不适合那些需要低延迟的应用,Hive 并不提供实时的查询和基于行级的数据更新操作
- Hive 不支持对数据的改写和添加,所有的数据都是在加载的时候确定的
- Hive 的最佳使用场合是大数据集的批处理作业,例如,网络日志分析
3.3、Apache Sqoop
- Sqoop是一款开源的工具,主要用于在Hadoop(Hive)与传统的
数据库(mysql、postgresql…)间进行数据的传递,可以将一个关系型
数据库(例如 : mysql ,Oracle ,Postgres等)中的数据导进到
Hadoop的HDFS中,也可以将HDFS的数据导进到关系型数据库中 - 可以通过hadoop的mapreduce把数据从关系型数据库中导入数据到HDFS
- 类似于其他ETL工具,使用元数据模型来判断数据类型并在数据从数据源转移到Hadoop时确保类型安全的数据处理
- Sqoop专为大数据批量传输设计,能够分割数据集并创建Hadoop任务来处理每个区块
3.4、Apache Oozie
- Oozie是一个管理Hdoop作业(job)的工作流程调度管理系统。
- 它是一个开源工作流引擎,用于管理和协调运行在Hadoop平台上(包括:HDFS、Pig和MapReduce)的Jobs。
- 它围绕着两个核心进行:工作流(Workflow)和协调器(Coordinator),前者定义任务拓扑和执行逻辑,后者负责工作流的依赖和触发。
- Workflow,即工作流,是一个有向无环图 (DAG,Directed Acyclic Graph),描述了需要执行的 Actions 序列。
3.5、其他
-
Flume:一种分布式的、可靠的、可用的服务,其用于高效地搜集、汇总、移动大量日志数据。
-
ZooKeeper:一种集中服务,其用于维护配置信息,命名,提供分布式同步,以及提供分组服务。
-
Mahout:一种基于Hadoop的机器学习和数据挖掘的分布式计算框架算法集,实现了多种MapReduce模式的数据挖掘算法。
-
Spark:一个开源的数据分析集群计算框架,最初由加州大学伯克利分校AMPLab开发,建立于HDFS之上。Spark与Hadoop一样,用于构建大规模、低延时的数据分析应用。Spark采用Scala语言实现,使用Scala作为应用框架。
-
Storm: 一个分布式的、容错的实时计算系统,由BackType开发,后被Twitter捕获。Storm属于流处理平台,多用于实时计算并更新数据库。Storm也可被用于“连续计算”(continuous computation),对数据流做连续查询,在计算时就将结果以流的形式输出给用户。它还可被用于“分布式RPC”,以并行的方式运行昂贵的运算。
以上是关于学习笔记Hadoop—— Hadoop介绍—— Hadoop生态环境的主要内容,如果未能解决你的问题,请参考以下文章
学习笔记Hadoop—— Hadoop介绍——Hadoop 核心组件