Hadoop生态圈学习记录
来源:互联网 发布:淘宝排名怎么靠前 编辑:程序博客网 时间:2024/06/02 22:43
Hadoop生态圈
unstructured data类型:文本、交互数据、图像、音频、视频
structured data:即行数据,存储在数据库里,可以用二维表结构来逻辑表达实现的数据
semi-structured data:结构化数据,但结构变化很大
2015.07.24
1.HDFS(分布式文件系统)详见:点击打开链接 官网文档
功能:主要负责数据的分布式存储,具有高容错性,且设计为部署在低廉硬件上
能够提供高吞吐量的数据访问,适用于拥有大数据集的应用
释放了少量POSIX要求,使得可以进行流式数据访问。
假设与目标:硬件错误:存在是正常的,目的在检错与快速自动恢复,系统瞬时可由成百上千的主机组成
流式数据访问:批处理而非交互式,高吞吐量而非低延迟数据访问
大数据集:可至PB级,瞬间可处理成千上万的文件
数据一致性:仅写一次读多次,不支持追加写入
移动计算:将计算移动到离数据存储近的地方,提高系统总吞吐量
可移植性:易跨平台使用
数据复制:数据被分成一系列块,除最后一块其他的大小均相等。这些块被复制用于容错
大量小文件存储占用空间
JAVA
2.Mapreduce/YARN(分布式计算框架)官方文档 新旧对比
功能:能在集群上可靠的、高容错的并行写入含有大量数据的应用的软件框架。
将输入的数据集分成块,发送给计算点(节点)并行进行处理,然后框架进行合并整合
框架负责安排、监测任务并重新执行失败的任务(对分析进行控制,而不是分析本身)
YARN:资源管理和任务调度 / 监控分离
框架:a. 一个全局的资源管理器 ResourceManager(包括Scheduler and ApplicationsManager)
MR与HDFS运行在同一节点集上,保证架构对任务进行有效安排
不必用JAVA写
3.HBase(分布式列存储系统)官方文档
功能:基于HDFS,高可靠性、高性能、面向列、可伸缩,提供对大表格快速记录查询及更新的分布式存储系统
适合于非结构化数据存储,主要用于海量结构化数据存储的数据库,基于列模式
在HBase中,数据被存放在有行和列的表里,可看做多维的图
HBase是为了支持弥补Hadoop对实时操作的缺陷的项目
当有成千上万或数以亿计的行时,可以选用HBase,否则用传统RDBMS比较好
需要至少5个DataNode和1个NameNode
关系: HBase位于结构化存储层
HDFS为HBase提供了高可靠性的底层存储支持
MapReduce为HBase提供了高性能的计算能力
Zookeeper为HBase提供了稳定服务和failover机制
4.Hive(数据仓库)官方文档
功能:基于Hadoop,用于查询和管理大数据集的数据仓库工具,为了减少MapReduce jobs编写工作
易于对数据进行extract/transform/load(ETL)
?A mechanism to impose structure on a variety of data formats
可以存储、查询和分析存储在HDFS(或者HBase)中的大规模数据的机制
可以用MR进行查询
使用类SQL语言进行查询(QL),允许MR开发者开发自定义mapper和reducers,允许用户编写自定义函数
无专门的数据格式
不适合那些需要低延迟的应用,如联机事务处理(OLTP)不提供实时的查询和基于行级的数据更新操作
最佳使用场合是大数据集的批处理作业,例如,网络日志分析 离线数据分析
查询操作过程严格遵守Hadoop MapReduce 的作业执行模型,Hive 将用户的HiveQL 语句通过解释器转换为MapReduce 作业提交到Hadoop 集群上,Hadoop 监控作业执行过程,然后返回作业执行结果给用户
5.Pig(基于Hadoop的数据流系统)官方文档
功能:Pig是一个基于Hadoop的大规模数据分析平台
提供的SQL-LIKE语言叫Pig Latin,该语言的编译器会把类SQL的数据分析请求转换为一系列经过优化处理的MapReduce运算
Pig相比Hive相对轻量,它主要的优势是相比于直接使用Hadoop Java APIs可大幅削减代码量。
Hive和Pig为HBase提供了高层语言支持,使得在HBase上进行数据统计处理变的非常简单
6.Mahout(数据挖掘算法库)
功能:创建一些可扩展的机器学习领域经典算法的实现,旨在帮助开发人员更加方便快捷地创建智能应用程序。
Mahout现在已经包含了聚类、分类、推荐引擎(协同过滤)和频繁集挖掘等广泛使用的数据挖掘方法。除了算法,Mahout还包含数据的输入/输出工具、与其他存储系统(如数据库、MongoDB 或Cassandra)集成等数据挖掘支持架构。
7.ZooKeeper(分布式协作服务)官方文档
功能:为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、名字服务、分布式同步、组服务
被设计用于存储子进程协调数据:状态信息、配置、位置信息等等
给clients提供高吞吐量、低延迟、高可变性、严格顺序对znodes进行存取
每个znode可以有数据与之关联且每个znode能包含的数据量是受限的
提供JAVA和C接口
原理
HBase内置有ZooKeeper,也可以使用外部ZooKeeper。
8.Tez(分布式执行框架)官方文档 介绍
功能:基于YARN,支持DAG作业的开源计算框架,将多个有依赖的作业转换为一个作业从而大幅提升DAG作业的性能
9.sqoop(数据库ETL工具)
功能:将Hadoop和关系型数据库中的数据相互转移的工具,可以将一个关系型数据库(例如 : MySQL ,Oracle ,Postgres等)中的数据导进到Hadoop的HDFS中,也可以将HDFS的数据导进到关系型数据库中。
缺点:有特定数据库的限制,没有驱动支持从视图的导入
10.flume(日志收集工具)
功能:高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统,Flume支持在日志系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据进行简单处理,并写到各种数据接受方(可定制)的能力。
11.spark
12.ambari
- Hadoop生态圈学习记录
- Hadoop生态圈
- 图画hadoop -- 生态圈
- Hadoop生态圈
- Hadoop生态圈常用命令
- 构建Hadoop生态圈
- hadoop生态圈
- Hadoop生态圈
- Hadoop生态圈
- Hadoop生态圈一览
- Hadoop生态圈
- Hadoop生态圈简介
- hadoop 生态圈
- Hadoop生态圈
- Hadoop生态圈
- Hadoop生态圈概要
- Hadoop生态圈介绍
- hadoop生态圈介绍
- CODE[VS] 1099 字串变换
- java web项目运行出现java.lang.NoSuchFieldError: deferredExpression解决方法!
- 躺在夏威夷 用一百种方法挥霍时光
- 关于指针
- 【从零单排之微软面试100题系列】20之把字符串转换成整数
- Hadoop生态圈学习记录
- 程序员面试宝典一周目第二天
- POST&&&GET请求比较
- Java4Android-继承初步
- site:pv uv ip
- iOS-响应链机制
- 自定义UITableViewCell 上按钮点击事件处理
- Linux 制作和打补丁
- Listview加载更多后返回头部问题的源码分析