大数据技术原理与应用期末复习(林子雨)

这篇具有很好参考价值的文章主要介绍了大数据技术原理与应用期末复习(林子雨)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Hadoop的特性

1.高可靠性:
采用冗余数据存储方式,即一个副本发生故障,其他副本可保证正常对外提供服务
2.高效性:
hadoop采用分布式存储和分布式处理,能够高效的处理PB级数据
3.高可扩展性:
可以高效稳定地运行在廉价的计算机集群上,可扩展到数以千计的计算机节点上
4.高容错性:
自动保存数据的多个副本,能将失败的任务重新分配
5.低成本:
采用廉价的计算机集群,成本低
6.运行在linux平台上

HBase编程实践

1.create:创建表
(1)create ‘t1’, {name => ‘f1’, versions => 5}
创建一个t1的表,列族为f1,列族版本号为5
(2)create ‘t1’, {name => ‘f1’},{name=>‘f2’},{name=>‘f3’}
创建t1,列族为f1,f2,f3
或者可以这样写:
create ‘t1’,‘f1’,‘f2’,‘f3’
(3)创建表t1,将表依据分割算法HexStringSplit分布在15个Region里:
create ‘t1’,‘f1’,{unmregions => 15,splitalgo => ‘HexStringSplit’}
(4)创建表,指定切分点:
create ‘t1’,‘f1’,{splits =>[‘10’,‘20’,‘30’,‘40’]}
2.向表t1中行row1和列f1:c1所对应的单元格添加数据value1,时间戳为123455:
put ‘t1’, ‘row1’,‘f1:c1’,‘value1’,123455
3.获得表r1行,c1列,时间范围为[ts1,ts2],版本号为4:
get ‘t1’,‘r1’,{columns => ‘c1’,timerange => [ts1,ts2],versions => 4}
4.流览表信息
(1)流览表“.META.”、列info:regioninfo的数据:
scan ‘.META.’ ,{columns => ‘info:regioninfo’}
(2)流览表 c1列,时间范围是[1234,4321]的数据:
scan ‘t1’ ,{columns => ‘c1’,timerange=>[1234,4321]}
5.修改表的列族模式
(1)向表t1添加列族f1:
alter ‘t1’,name => ‘f1’
(2)删除t1中的f1列:
alter ‘t1’ , name=>‘f1’,method=>‘delete’
(3)设定表t1中列族f1最大为128MB:
alter ‘t1’ ,method=>‘table_att’,max_filessize => ‘134217728’
6.统计表行数:
count ‘t1’
7.显示表的相关信息:
describe ‘t1’
8.使表有效、无效:
enable ‘t1’
disable ‘t1’
9.删除指定表格的数据:
删除表t1、行r1、列c1、时间戳ts1的数据:
delete ‘t1’,‘r1’,‘c1’,ts1
10.删除表:
drop ‘t1’

NoSQL的四大类型

键值数据库

使用一个哈希表

优点:

扩展性好、灵活性好、大量写操作时性能高

缺点:

条件查询效率低,无法存储结构化信息

列族数据库

数据库由多行构成,每行数据库包含多个列族

优点:

查询速度快、可扩展性好、易进行分布式扩展、复杂性低

缺点:

功能较少、不支持强事务一致性

文档数据库

文档是文档数据库的最小单位

优点:

性能好、灵活性高、复杂性低、数据结构灵活

缺点:

缺乏统一的查询语法

图数据库

优点:

灵活性高、支持复杂的图算法、可用于构建复杂的关系图谱

缺点:

复杂性高,只能支持一定的数据规模

NoSQL的三大基石

CAP:

C:一致性(Consistency),任何一个读操作总是能读到之前完成的写操作的结果,多点数据是一致的
A:可用性(Availability),指快速获取数据,在确定时间内返回操作结果
P:分区容忍性,指一部分节点不能与其他节点通信时,分离的系统也能正常运行
注意:三者只能满足其二

BASE

一个数据库事务具有ACID四个性质
A(Atomicity):原子性,事务必须是原子工作单元,对于数据修改,要么全执行,要么全不执行
C(Consistency):一致性,事务在完成时,必须所有的数据状态保持一致
I(Isolation):隔离性,并发事务所做的修改必须与任何其他并发事务所做的修改隔离
D(Durability):持久性,事务完成之后对系统的影响是永久的

BASE的基本含义

1.基本可用性:
一部分发生问题不可用时,其他部分还可继续正常使用
2.软状态:
指状态可以有一段时间不同步,具有一定滞后性
3.最终一致性
数据保持一致(最新)

最终一致性

从服务端来看:
更新如何复制分布到整个系统,以保持数据最终一致性
从客户端来看:
在高并发的数据访问下,后续操作能否获取最新数据

MapReduce的各个执行阶段

1.MapReduce框架使用InputFormat模块做Map前的处理,验证是否符合输入定义,将文件分为多个InputSplit,InputSplit是MapReduce对文件中信息进行处理和运算的输入单位,并没有对文件进行实际切分,只是记录了数据的位置和长度,是逻辑切分
2.因为是逻辑切分不是物理切分,所以还需要通过RecordReader根据InputSplit中的信息来处理具体记录,加载数据并将其转换为适合Map任务读取的键值对,输入给Map
3.Map任务根据用户自定义的映射规则,输出一系列<key,value>作为中间结果
4.对map输出进行一定的分区、排序、合并、归并、等,得到<key,value-list>形式的中间结果,交给reduce处理,这个过程称为shuffle
5.reduce以<key,value-list>作为输入,执行用户定义的逻辑,输出结果交给OutputFormat模块
6.OutputFormat模块验证输出目录是否存在,以及文件类型,都满足就输出到分布式文件系统

关系的自然连接运算

可以使用Map过程把来自R的每个元组<a,b>装换成<b,<R,a>>,其中键就是b,值就是<R,a>
例如:
大数据技术原理与应用期末复习(林子雨),软件工程相关期末复习,大数据,hadoop,spark,hive

Hadoop的局限性与不足

1.抽象层次低。功能实现需要手工编写代码来完成,一个简单的功能需要写大量的代码
2.表达能力有限。MapReduce把复杂分布式编程工作高度抽象为Map和Reduce两个函数,降低了开发人员开发复杂度,也带来了表达能力有限的问题,实际生产环境中一些是无法用简单的Map和Reduce来完成的
3.开发者需要自己管理作业之间的依赖关系。一个作业只包含Map和Reduce两个阶段,通常的实际应用问题需要大量的作业进行协作才能完成,存在复杂的依赖关系,MapReduce并没有提供依赖关系的管理机制
4.难以看到程序的整体逻辑。没有更高层次的抽象机制对程序整体逻辑进行设计
5.执行迭代操作效率低。每次迭代都要执行Map、Reduce任务,这个过程的数据来自HDFS,每次数据又存到HDFS,反复的读写降低了迭代操作的效率
6.资源浪费。Reduce任务需要等到Map执行完才能开始,这样让费资源
7.实时性差。只适用于离线批处理数据,无法支持交互式数据、实时数据处理

Hadoop的改进与提升

Hadoop1.0和Hadoop2.0比较

组件 Hdoop1.0的问题 Hadoop2.0的改进
HDFS 单一名称节点,存在单点失效问题 设计了HDFS HA,有名称节点热备份机制
HDFS 单一命名空间,无法实现资源隔离 设计了HDFS联邦,管理多个命名空间
Mapreduce 资源管理效率低 新的资源管理框架YARN

不断完善的Hadoop生态系统

组件 功能 解决Hadoop中存在的问题
Pig 处理大规模数据的脚本语言,用户只需写几条简单的语句,系统会自动转换为MapReduce作业 解决了抽象层次低,需手工写大量代码问题
Oozie 工作流和协作服务引擎,协调Hadoop上运行的不同任务 解决了无依赖管理机制
Tez 支持DAG作业,对作业操作进行重新分解和组合,形成一个大的DAG作业,减少不必要的操作 提高了效率
Kafka 分布式发布订阅消息系统,不同类型的分布式系统可以接入Kafka,实现hadoop各个组件之间的不同类型数据的实时高效交换 解决了hadoop各组件间没有数据交换中介这个问题

Spark生态系统

spark专注于数据的处理分析,数据存储还是要借助于Hadoop分布式文件系统HDFS
1.Spark Core
包含了spark的基本功能,如内存计算、任务调度、部署模式、故障恢复、存储管理等,主要面向批量数据处理,spark建立在RDD(统一的抽象弹性分布式数据集)之上,使其可以以一致的方式应对不同的大数据处理场景
2.Spark SQL
允许开发人员直接处理RDD,同时可查询Hive、HBase等外部资源,能统一处理关系表和RDD,使得开发人员不需要自己编写Spark应用程序,可使用SQL语句查询
3.Spark Streaming
支持高吞吐量、可容错处理的实时数据流处理,其核心思路是将流数据分解成一系列短小的批处理作业,每个短作业都可以使用Spark Core进行快速处理,支持多种数据流,如Kafka、Flume、TCP套接字等
4.Structured Streaming
基于Spark SQL引擎构建的、可扩展且容错的流处理引擎,可编写流处理程序,简化了使用者的难度
5.MLlib(机器学习)
提供了常用的机器学习算法的实现,包括聚类、分类、回归、协同过滤等,降低了机器学习的门槛
6.GraphX(图计算)
是Spark常用于图计算的API,可认为是Pregel在Spark上的重写及优化了,有丰富的功能和运算符,可用在海量数据上

Spark的应用场景

应用场景 时间跨度 其他框架 Spark生态中的组件
复杂的批量数据处理 小时级 MapReduce、Hive Spark Core
基于历史数据的交互式查询 分钟级、秒级 Impala、Dremel、Drill Spark SQL
基于实时数据流的数据处理 毫秒级、秒级 Storm 、S4 Spark Streaming、Structured Streaming
基于历史数据的数据挖掘 Mahout MLlib
图结构数据的处理 Pregel、Hama GraphX

流计算

对于一个流计算来说,需要达到哪些需求

1.高性能
每秒处理几十万条
2.海量式
支持TB级别,甚至是PB级别的数据规模
3.实时性
必须保证一个较低的时延,达到秒级别,甚至是毫秒级别
4.分布式
支持大数据的基本架构,必须能够平滑扩展
5.易用性
能够快速进行开发和部署
6.可靠性
能可靠地处理流数据

Flink的优势

1.同时支持高吞吐、高延迟、高性能
2.同时支持流处理和批处理
对于Flink而言,批量数据是流数据的一个子集,批处理被视作一种特殊的流处理,因此可用同一套引擎来处理流数据和批量数据
3.高度灵活的流式窗口
窗口是若干元素的集合,窗口可以是时间驱动的,也可以是数据驱动的,窗口可以分为翻滚窗口、滚动窗口、会话窗口
4.支持有状态计算
5.具有良好的容错性
6.具有独立的内存管理
7.支持迭代和增量迭代
对于某些迭代而言,并不是单次迭代产生的下一次工作集中的每个元素都需要重新参与下一轮迭代,有时只需要重新计算部分数据同时选择性地更新解集,这种称为增量迭代文章来源地址https://www.toymoban.com/news/detail-812273.html

到了这里,关于大数据技术原理与应用期末复习(林子雨)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 《大数据技术原理与应用(第3版)》期末复习——前两章练习题

    第一章 大数据概述 1【单选题】 人类社会的数据产生方式大致经历了三个阶段, 不包括 : A、运营式系统阶段 B、用户原创内容阶段 C、互联网应用阶段 D、感知式系统阶段 答案:C 数据产生方式经历了三个阶段:运营式系统阶段、用户原创内容阶段、感知式系统阶段 2【单选

    2024年02月07日
    浏览(37)
  • 《大数据技术原理与应用(第3版)》期末复习——第三章分布式文件系统HDFS习题

    分布式文件系统的结构 1、 名称节点 (“主节点”): 负责文件和目录的创建、删除和重命名等,同时管理着数据节点和文件块之间的映射关系。 2、 数据节点 (“从节点”): 负责数据的存储和读取。在存储时,由名称节点分配存储位置,然后由客户端把数据直接写入相应

    2024年02月12日
    浏览(38)
  • 林子雨试卷《大数据技术原理与应用》试题与答案

    《大数据技术原理与应用》试题与答案 问答题(100分): (问答题,共13道题目,第1题4分,第2题6分,第3题10分,第4题10分,第5题16分,第6题6分,第7题12分,第8题6分,第9题6分,第10题8分,第11题4分,第12题6分,第13题6分) 1.(4%)请阐述大数据、云计算和物联网三者之间的

    2024年02月06日
    浏览(31)
  • 《单片机原理与应用及C51编程技术》期末复习笔记

    CPU由 运算器和控制器 两部分组成,主要完成 取指令、指令译玛、发出各种操作所需的控制信号 ,使单片机各个部分协调工作。 为CPU指明将要执行的指令地址,(存放下一条指令的地址)。长度为 16位 ,所以寻址范围为0-65535(64K)。 单片机在复位时PC=0000H,这就意味着一旦

    2024年02月02日
    浏览(44)
  • 大数据技术原理与应用 概念、存储、处理、分析和应用(林子雨)——第三章 分布式文件系统HDFS

    大数据要解决数据存储问题,所以有了分布式文件系统(DFS),但可能不符合当时的一些应用需求,于是谷歌公司开发了GFS(Google file System)。GFS是闭源的,而HDFS是对GFS的开源实现。 1.GFS和DFS有什么区别? GFS(Google File System)和DFS(Distributed File System)都是分布式文件系统,

    2024年02月03日
    浏览(59)
  • 软件工程期末复习+数据仓库ETL

    1.AdventureWorks数据库下载地址和方式 下载地址:https://github.com/Microsoft/sql-server-samples/releases 下载方式: 2.将.bak文件导入SQL Server Management Studio Management Studio 19 首先在安装SSMS在此不赘述: 右键单击 “数据库” 节点,然后选择 “还原数据库”,选择设备选择.bak文件: 软件工程

    2024年02月03日
    浏览(36)
  • 数据库原理与应用期末复习大纲

    ​ 数据库系统(DataBase System,DBS)是采用了数据库技术的计算机系统,一般由 数据库、数据库管理 系统(及相关使用工具)、应用系统、数据库管理员 构成。 ​ 数据库系统是引入了数据库及时的计算机系统,一般由数据库,支持数据库运行的软硬件,数据库管理系统 (及

    2024年02月02日
    浏览(50)
  • 数据库原理及应用期末复习汇总(附某高校期末真题试卷)

    一、选择题 1、数据库系统的基本特征是_________。 A、数据的统一控制 B、数据共享性和统一控制 C、数据共享性、独立性和冗余度小 D、数据共享性和数据独立性 正确答案:C 2、DB、DBMS和DBS三者之间的关系是_________。 A、DBS与DB和DBMS无关 B、DBMS包括DBS和DB C、DB包括DBMS和DBS D、

    2024年02月03日
    浏览(43)
  • 信息安全原理与技术期末复习(如学)

    只要有人求助速成,那我114514连长一定会帮帮场子😅 咱就是说,剩下的考试划重点时我人都不在,问之前先把题型和重点题型搬上来罢(悲) 1、“非对称密码体制”的含义是( 将公开密钥公开,私有密钥保密 ) 2、以下关于ARP欺骗的描述错误的是( ARP欺骗是利用ARP协议缺乏

    2024年02月09日
    浏览(31)
  • 微机原理与接口技术期末复习题

    一、单项选择 题 (10小题,每小题2分,共20分) 1、某数在计算机中用压缩BCD码表示为10010011,其真值为(  )。   A. 10010011B B. 93H C.93 D. 147 2、8086/8088CPU最大和最小工作方式的主要差别是(  )。    A. 数据总线的位数不同 B. 地址总线的位数不同 C. I/O端口数的不同 D.  

    2024年02月09日
    浏览(31)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包