写这篇文章的原因是给那些看了很多干货,但是觉得说的太多,对于刚入门的同学看起来是比较枯燥的事情,那么笔者就对此总结了hadoop简洁版。希望能够帮助初学的小伙伴。分享之前我还是要推荐下我自己创建的大数据学习交流Qun: 710219868 进Qun聊邀请码填写 南风(必填)我就知道是你了
Hadoop可以说是大数据储存和计算的开山鼻祖了,现在大多数的开源框架都依赖于Hadoop,或者能与它更好的兼容。
Hadoop的由来:
Hadoop是一个由Apache基金会所开发的分布式系统基础架构。
Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS。HDFS有高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上;而且它提供高吞吐量(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。HDFS放宽了(relax)POSIX的要求,可以以流的形式访问(streaming access)文件系统中的数据。
hadoop的核心总共有两个:HDFS(为海量数据提供储存)、MapReduce(为海量数据提供了计算)
hadoop的优点: 是一个能对大数据进行分布式处理的软件框架、是一种可靠、高效、高伸缩的方式进行处理数据.
哪里可靠:因为它假设了计算元素或储存失败,因此它维护了多个工作数据和副本,确保能够针对失败的节点进行重新分布处理
哪里高效:因为它是以并行的方式进行工作,通过并行处理加快处理速度
还是可伸缩的,因为可以处理PB级数据
那么说了这么多干货,究竟hadoop是干嘛的。具体能做什么呢
hadoop就是适用于大数据存储和大数据分析的应用,适用于几千台或者几万台服务器的集群运行,支持PB级的存储容量。
hadoop提供了什么功能呢?
利用服务器集群,根据用户自定义的业务逻辑对海量数据进行分布式处理!
hadoop运用于什么场景呢?
目前最典型是运用于对 数据量特别大、数据类型复杂,无法用传统数据库进行储存和处理的的文本、日志、视频、图片、地理位置等.
技术介绍:
HDFS:
那么顾名思义大数据首先是要把数据储存下来。而HDFS的设计本质就是为了大量数据能够横跨成千上万个服务器存储。
比如说你获取了/hdfs/tmp/a1的数据,虽然你看到的只是一个路径的数据,但是很可能这个数据存储在很多不同的机器上。
作为用户根本不关注你这些数据储存在了哪里和储存在多少个地方,更多关注数据的使用和处理,这些就要交给HDFS管理。
MapReduce:
那么我们能够存储数据了,就要考虑如何处理数据了,一台计算机处理T或者P以上的数据可能需要好几天,这种效率明显公司是不能接受的,但是我们如果使用很多台计算机处理的话就面临了计算机之间如何分配的任务,如何通信、数据交换。这就是MapReduce/Spack要处理的问题了。提供了可靠的能在集群上运行的计算模型。
Hive:
简单来说就是程序员在写MapReduce程序的时候发现很麻烦,但是可以通过Hive解决这个事情。
hive是通过SQL的方式自动把脚本或者SQL翻译成MapReduce程序,然后丢给计算引擎去处理
因为SQL比较容易上手,容易修改,可能一两行的SQL语句换成MapReduce可能几十行,几百行
上面介绍的就是数据仓库的基本架构了,底层是 HDFS,上面运行的是 MapReduce/Spark,在往上封装的是Hive。
Storm:
想要更快的计算处理速度!Storm 是最流行的流计算平台。流处理的思路就是在数据进入系统的时候就进行处理,基本无延迟。缺点是不灵活,必须事先直到需要统计的数据,数据流过就没有了,没法进行补算。因此它是个好东西,但还是无法代替上述体系的。
HBase:
HBase 是一个构建与 HDFS 的分布式,面向列的存储系统。以 key value 对的方式存储数据并对存取操作做了优化,能够飞快的根据 key 获取绑定的数据。例如从几个 P 的数据中找×××号只需要零点几秒。
原创文章,作者:3628473679,如若转载,请注明出处:https://blog.ytso.com/192064.html