几句话让你读懂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 是***流行的流计算平台。流处理的思路就是在数据进入系统的时候就进行处理,基本无延迟。缺点是不灵活,必须事先直到需要统计的数据,数据流过就没有了,没法进行补算。因此它是个好东西,但还是无法代替上述体系的。
H:
H 是一个构建与 HDFS 的分布式,面向列的存储系统。以 key value 对的方式存储数据并对存取操作做了优化,能够飞快的根据 key 获取绑定的数据。例如从几个 P 的数据中找身份证号只需要零点几秒。
yarn:
为了能让我们这么多工具有序的运行在同一个集群上,我们就需要这么一个调度系统进行协调,目前来说yarn管理是***流行的。
【版权与免责声明】如发现内容存在版权问题,烦请提供相关信息联系我们,我们将及时沟通与处理。本站内容除非来源注明甲骨文华育兴业,否则均为网友转载,涉及言论、版权与本站无关。
相关推荐

Hadoop主要模块介绍
在大数据开发中Hadoop是我们经常用到的,那么Hadoop中的模块大家都了解多少呢,理解每个模块的作用可以帮助我们更好的掌控全局,一起来看看小编整理的资料把!

大数据开发Python具有潜力发展方向?
大数据逐渐的与各个行业相对接,也逐渐的开始展现出其驱动一切的魅力。而在这些实际的应用当中,spark与hadoop无疑是***受开发者、企业、商家所关注的。那么在大数据技术领域,spark与hadoop相爱相杀,真的存在谁取代谁的情况吗?

大数据告诉你:该学习什么技术
在编程开发中注释是一个很重要的细节,它决定了你代码的辨识度和可维护性,试问一个刚接手项目的程序员如何在前人留下的几万行代码中找到自己负责的模块呢?这时候注释就起到了重要的左右,它可以直观的反映出前人的开发逻辑,便于我们以后的开发和维护!