| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 大数据 -> 一文搞懂什么是Hadoop?Hadoop的优点有哪些?Hadoop?态圈【详细介绍】 -> 正文阅读 |
|
[大数据]一文搞懂什么是Hadoop?Hadoop的优点有哪些?Hadoop?态圈【详细介绍】 |
前情回顾: 目前为止,我们知道了海量数据的存储是使用数据仓库,而为了保证数据的质量呢,我们要有元数据管理,还有数据治理。而为了保证这些数据的性能、还有使用的效率等等,那么我们采取的是分层架构。 在目前市面上用的比较广泛的数据仓库是Hive,而Hive又是依存于Hadoop这样一个开源的分布式计算平台上。所以本篇博客我们就来介绍一下Hadoop。 Hadoop概述1 Hadoop简介Hadoop是什么?简单来说,Hadoop就是解决?数据时代下海量数据的存储和分析计算问题。 Hadoop不是指具体的?个框架或者组件,它是Apache软件基?会下?Java语?开发的?个开源分布式计算平台,实现在?量计算机组成的集群中对海量数据进?分布式计算,适合?数据的分布式存储和计算,从?有效弥补了传统数据库在海量数据下的不?。 2 Hadoop优点
3 Hadoop?态圈我们再来看一下Hadoop的生态圈,它的核心组件是HDFS,还有MapReduce。那随着处理任务的多样性,Hadoop生态圈它的组件会越来越多。 3.1 分布式存储(HDFS)HDFS就是将?件切分成固定??的数据块block(?件严格按照字节来切,所以若是最后切得省?点点,也算单独?块,hadoop2.x默认的固定??是128MB,不同版本,默认值不同.可以通过Client端上传?件设置)。 它主要是负责分布式存储的,它把一个大文件切割成不同的小块,然后存储在相应的节点上,也就是计算机上。默认情况下呢它是把这个块分成一百二十八兆,当文件大于一百二十八兆的时候,它就会进行切割。 举个例子(如图),假如我现在有一个文件是二百兆,那它就切割了两块,分别放在不同的节点上。并且它对每一块进行备份,默认情况下是三个部分(本身加两个备份)。对于不同的副本,它是存储在不同的节点上的,那下一个我们可以这样算,也达到了这样子的三块。
那如果我们把两块都存在了一个节点上,那当对这个数据进行处理的时候,我们可以第一块的计算那是在节点1,那对于第二块的计算,我们就到其他的副本节点上计算,让工作量保持均衡。 所以分布式存储保证了我们Hadoop系统的这样一个高容特性,还有高效性。 HDFS 的优点:
3.2 分布式计算(MapReduce)MapReduce为海量的数据提供了计算。 MapReduce从它名字上来看就?致可以看出个缘由,两个动词Map和Reduce,“Map(展开)”就是将?个任务分解成为多个任务,“Reduce”就是将分解后多任务处理的结果汇总起来,得出最后的分析结果。MapReduce采?"分?治之"的思想,简单地说,MapReduce就是"任务的分解与结果的汇总"。 举个例子,当有了对刚才的二百兆这个文件的一个计算的任务的时候,那MapReduce会把我们的这个任务分发给有这个块的这样一个节点,节点进行计算之后,然后他再整合输出。同理,也是因为MapReduce的分布式计算保证了Hadoop的高效性。 3.3 HBase对于数据仓库来说,它存储的多数是历史数据,不太支持实时的这样一个交互。但是HBase它既存储数据,也能和HDFS进行交互,所以HBase存储的数据是可以支持实时的这样一个交互的,也就是说它可以用来完成MySQL、Oracle和SqlServer这样业务型数据库的功能,但是这样使用的还是比较少的。 所以在业务系统中,数据需要实时交互的,我们还是采用传统数据库比较好一些。 3.4 ZookeeperZookeeper,主要是对于我们的数据平台进行配置和调度的,主要是用来解决分布式应用中经常遇到的一些数据管理问题,例如统一命名、状态同步等等。它的目标就是封装好复杂、易出错的相关服务,将简单、易用的系统提供给用户。 举个例子,假设我们的程序是分布式部署在多台机器上的,也就是我们每一台机器上都有相应的应用程序。但是我们现在要更新,要改配置文件,那就需要逐台的来进行改变,这样就比较麻烦。但是现在呢我们把这个配置文件全部放在Zookeeper上,存储在Zookeeper上的某个目录中,然后相关的应用程序,也就是在每一台机器上的应用程序就会监测Zookeeper。当Zookeeper上的配置文件发生变化了之后,就会自动的进行下载、更新,这样我们就避免了每一台机器都进行逐步的更改。 3.5 Pig Hive ChuKwaPig、Hive和ChuKwa属于Hadoop生态圈的应用层,主要都是对数据进行处理和分析的,只是不同的场景,选择不同的组件会更好一些。 后期我会详细介绍Hive,其他两部分就暂时不介绍了。 结束语一直在学习路上! 了解更多内容,可以关注我的数据分析专栏。 CSDN@报告,今天也有好好学习 |
|
|
上一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/23 16:27:30- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |