首页 > 其他分享 >hadoop学习

hadoop学习

时间:2022-09-20 22:57:01浏览次数:75  
标签:存储 Task -- hadoop MapReduce 学习 数据

大数据技术要解决的难题——海量数据要如何存储,海量数据要如何处理?

海量数据的存储问题不是现在才有的,在很早之前就用NFS(网络文件系统)将数据分开存储来解决海量数据的存储问题,但NFS有着明显的缺点。

对海量数据进行分析时不能充分运用多台计算机进行分析。

为解决第一个问题,从纵向扩展的角度来看,单台计算机的扩展空间是有限的,无论cpu,内存,磁盘怎么扩展也都是有限的,而且高端的服务器极其昂贵,成本极高,所以纵向扩展的角度是不可取的。

从横向扩展看有需要解决如下问题:如何调度资源,任务如何监控,中间结果如何调度,系统如何容错,如何实现众多结点的协调。而hadoop就是为解决上面5个问题而来的。

 

hadoop是一种开源可运行在大规模集群上的分布式文件系统和运行处理的框架,他适合在低成本搭建的集群上进行海量数据(结构化和非结构化)的存储,以及离线处理。

hadoop的结构

 

 

 

hadoop的核心是HDFS和MapReduce,先来看HDFS的结构:

Client切分文件,访问HDFS,与NameNode交互,获取文件的位置信息,与DataNode交互读取和写入数据。NameNode记录数据在DataNode中存储的位置,管理名称空间,配置副本策略,处理客户端请求。DataNode实际存储数据。Secondary NameNode辅助NameNode。

Mapreduce的结构

Hadoop MapReduce时google MapReduce的克隆版,是一种计算模型,进行大量数据计算,Map对数据机上独立元素进行指定操作,生成键值对形式的中间结果,Reduce则对中间结果的相同键的所有值进行规约,得到最终结果。

JobTracker:Master节点,只有一个,管理所有作业,作业/任务的监控、错误处理等;将任务分解成一系列任务,并分派给TaskTracker。

 

TaskTracker:Slave节点,运行Map Task和Reduce Task;并与JobTracker交互,汇报任务状态。

Map Task:解析每条数据记录,传递给用户编写的map(),并执行,将输出结果写入本地磁盘(如果为map-only作业,直接写入HDFS)。

Reducer Task:从Map Task的执行结果中,远程读取输入数据,对数据进行排序,将数据按照分组传递给用户编写的reduce函数执行

 

MapReduce的处理流程

再来看Hive(基于Hadoop的数据仓库)

Hive定义了一种类似SQL的查询语言(HQL),将SQL转化为MapReduce任务在Hadoop上执行。通常用于离线分析。

Hbase(分布式列存数据库)

 Hbase源于Google的Bigtable,他是一个针对结构化数据的可伸缩、高可靠、高性能、分布式和面向列的动态模式数据库。HBase采用了BigTable的数据模型:增强的稀疏排序映射表(Key/Value)其中行关键由行键字、列关键字和时间戳构成。

他提供了对大规模数据的随机、实时读写访问,同时,HBase中保存的数据可以使用MapReduce来处理,他将数据存储和并行计算完美地结合起来。

数据模型:Schema-->Table-->Column Family-->Column-->RowKey-->TimeStamp-->Value

标签:存储,Task,--,hadoop,MapReduce,学习,数据
From: https://www.cnblogs.com/20203923rensaihang/p/16712819.html

相关文章

  • Java学习笔记---JDK8新特性(Lambda表达式)
    1.Lambda表达式基础格式:()->{};//()为lambda表达式的参数//->为箭头操作符//{}为lambda方法体lambda表达式结果为一个实例对象,用于直接实例化......
  • vector 初步学习记录
    cat/etc/vector/vector.toml[sources.elasticsearch_search_slowlog]type="file"include=["/var/log/elasticsearch/picapica_es_index_search_slowl......
  • 2022-9-20 Spring学习笔记
    目录1.Spring1.1JavaBean1.2Spring的优势1.3将对象放入IOC容器配置类赋值的方法根据不同类型的赋值作用域自动装配注解1.4类型转换1.SpringSpring框架是Java应用最广......
  • 【Coel.学习笔记】随机化算法:模拟退火与爬山法
    简介模拟退火(\(\text{SimulateAnneal}\))和爬山法是随机化算法,二者的原理都在于通过随机生成答案并检查,把答案逐步缩小在一个可行的区间,尽可能地靠近正确答案。在考场......
  • 2022-08-30 第二小组 张鑫 学习笔记
    实训五十二天Servlet学习内容HttpServletRequest//请求  所有和请求相关的操作  当请求来的时候,request就被实例化HttpServletResponse//响应  所有和......
  • 开发工具的下载与学习使用
    1、IntelliJIDEA2022.2.2的下载和破解过程:先上IDEA官网下载IDEA  下载安装IDEA后,再去下载激活补丁  在 idea64.exe.vmoptions 配置文件结尾添加如下配置:......
  • 数据库课堂学习记录
    建表插入数据      创建连线  错误原因:忘记设置主键了   在MySQL的命令行工具里 输入SHOWVARIABLESLIKE'datadir';命令,返回数据库文......
  • go学习(二十四)容器
    1、数组var数组变量名[元素数量]Type//数组声明q:=[...]int{1,2,3}varr[3]int=[3]int{1,2}vararray_name[size1][size2]...[sizen]array_type//多维......
  • 2022-2023-1 第三周学习总结
    作业地址:https://www.cnblogs.com/rocedu/p/9577842.html#WEEK03第一周作业:https://www.cnblogs.com/rocedu/p/9577842.html#WEEK03提交情况如图:作业要求:1.学......
  • go学习(二十三)不熟悉的go语句
    读不懂语句,实质上是优先级和结合性的问题。varmapnamemap[string]int//正常定义map,string是key类型,int是value类型mp1:=make(map[int][]int)//value类型是[]int......