hadoop (1)
来源:互联网 发布:linux断电日志 编辑:程序博客网 时间:2024/06/11 08:07
1 。hadoop的运用场景
2.hadoop生态圈
一组分布式文件系统和通用I/O的组件与接口(序列化、Java RPC和持久化数据结构)。
Avro
一种支持高效、跨语言的RPC以及永久存储数据的序列化系统。
MapReduce
分布式数据处理模型和执行环境,运行于大型商用机集群。
HDFS
分布式文件系统,运行于大型商用机集群。
Pig
一种数据流语言和运行环境,用以检索非常大的数据集。Pig运行在MapReduce和HDFS的集群上。
Hive
一个分布式、按列存储的数据仓库。Hive管理HDFS中存储的数据,并提供基于SQL的查询语言(由运行时引擎翻译成MapReduce作业)用以查询数据。
HBase
一个分布式、按列存储数据库。HBase使用HDFS作为底层存储,同时支持MapReduce的批量式计算和点查询(随机读取)。
ZooKeeper
一个分布式、可用性高的协调服务。ZooKeeper提供分布式锁之类的基本服务用于构建分布式应用。
Sqoop
在数据库和HDFS之间高效传输数据的工具。
3.hadoop的框架演化
大数据本质也是数据,但是又有了新的特征,包括数据来源广、数据格式多样化(结构化数据、非结构化数据、Excel文件、文本文件等)、数据量大(最少也是TB级别的、甚至可能是PB级别)、数据增长速度快等。
针对以上主要的4个特征我们需要考虑以下问题:
数据来源广,该如何采集汇总?,对应出现了Sqoop,Cammel,Datax等工具。
数据采集之后,该如何存储?,对应出现了GFS,HDFS,TFS等分布式文件存储系统。
由于数据增长速度快,数据存储就必须可以水平扩展。
数据存储之后,该如何通过运算快速转化成一致的格式,该如何快速运算出自己想要的结果?
对应的MapReduce这样的分布式运算框架解决了这个问题;但是写MapReduce需要Java代码量很大,所以出现了Hive,Pig等将SQL转化成MapReduce的解析引擎;
普通的MapReduce处理数据只能一批一批地处理,时间延迟太长,为了实现每输入一条数据就能得到结果,于是出现了Storm/JStorm这样的低时延的流式计算框架;
但是如果同时需要批处理和流处理,按照如上就得搭两个集群,Hadoop集群(包括HDFS+MapReduce+Yarn)和Storm集群,不易于管理,所以出现了Spark这样的一站式的计算框架,既可以进行批处理,又可以进行流处理(实质上是微批处理)。
而后Lambda架构,Kappa架构的出现,又提供了一种业务处理的通用架构。
为了提高工作效率,加快运速度,出现了一些辅助工具:
Ozzie,azkaban:定时任务调度的工具。
Hue,Zepplin:图形化任务执行管理,结果查看工具。
Scala语言:编写Spark程序的最佳语言,当然也可以选择用Python。
Python语言:编写一些脚本时会用到。
Allluxio,Kylin等:通过对存储的数据进行预处理,加快运算速度的工具。
图片来源:http://blog.csdn.net/GitChat/article/details/78341484
- hadoop(1):centos 安装 hadoop & hive
- hadoop 学习(1) hadoop安装
- Hadoop 优化(1)
- Hadoop入门(1)
- 初识Hadoop(1)
- Hadoop学习(1)
- hadoop(1)
- Hadoop笔记(1)
- hadoop 读书笔记(1)
- Hadoop读书笔记(1)
- hadoop 压缩(1)
- 学习hadoop(1)
- hadoop 练习(1)
- hadoop (1)
- Hadoop(1)入门
- Hadoop生态系统(1)
- Hadoop源码编译,hadoop-2.4.1+Lubuntu(Ubuntu)
- 【hadoop学习】--(1)hadoop安装前准备
- 初来乍到
- abap 上传\下载文档
- NIO和AIO对比详解
- 关于Java中GUI编程记录
- Zookeeper集群搭建(solr集群架构 zookeeper部分)
- hadoop (1)
- 虚拟机、ubuntu
- 什么样的人适合学SEO,告诉你如何快速成长为SEO高手
- leetcode47. Permutations II
- noip2017 滚粗记
- 文章标题
- 面试感悟:3年工作经验java程序员应有的技能
- 控制滚动条位置
- ubuntu16.04安装显卡驱动、CUDA、cuDNN