大数据技术及应用——基于Python语言 思考题参考答案 严宣辉 第1--4章 初识大数据---大数据存储.docx

上传人:李司机 文档编号:7253182 上传时间:2024-07-25 格式:DOCX 页数:13 大小:37.48KB
返回 下载 相关 举报
大数据技术及应用——基于Python语言 思考题参考答案 严宣辉 第1--4章 初识大数据---大数据存储.docx_第1页
第1页 / 共13页
大数据技术及应用——基于Python语言 思考题参考答案 严宣辉 第1--4章 初识大数据---大数据存储.docx_第2页
第2页 / 共13页
大数据技术及应用——基于Python语言 思考题参考答案 严宣辉 第1--4章 初识大数据---大数据存储.docx_第3页
第3页 / 共13页
大数据技术及应用——基于Python语言 思考题参考答案 严宣辉 第1--4章 初识大数据---大数据存储.docx_第4页
第4页 / 共13页
大数据技术及应用——基于Python语言 思考题参考答案 严宣辉 第1--4章 初识大数据---大数据存储.docx_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《大数据技术及应用——基于Python语言 思考题参考答案 严宣辉 第1--4章 初识大数据---大数据存储.docx》由会员分享,可在线阅读,更多相关《大数据技术及应用——基于Python语言 思考题参考答案 严宣辉 第1--4章 初识大数据---大数据存储.docx(13页珍藏版)》请在三一办公上搜索。

1、第一章初识大数据1 .什么是大数据?大数据的定义是什么?H前业界对大数据还没有一个统一的定义。常见的研究机构施于不同的角度给出如下定义。(1)大数据是指大小超出常规的数据库工具获取、存储、管理和分析能力的数据集(并不是说一定要超过特定TB级的数据桀才算大数据)。麦肯锡(2)大数据是指无法在一定时间内用常规软件工具对其内容进行抓取、管理和处理的数据集。维基百科(3)大数据是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化力的海量、高增长率和多样化的信息资产。Gartner(4)数据量大、获取速度快或形态多样的数据,难以用传统关系里数据分析方法进行有效分析,或者需要大规模的水平扩屣才能高效

2、处理。一一美国国际标准技术研究院(NIST)(5)大数据般会涉及两种或两种以上的数据形式,它需要收集超过100TB(1TB-240B)的数据,并且是高速实时潦数据:或者从小数据开始,但数据每年增长速率至少为60%。一一国际数据公司(1)总的来说.大数据是指所涉及的数据规模巨大到无法通过人工或计算机,在可容忍的时间下使用常规软件工具完成存储、管理和处理任务,并解择成人们所能解读的形式的信息。2 .大数据技术包括事几方面的内容?请简要回答.大数据技术可归纳为:大数据采集、大数据预处理、大数据存储、大数据计算:、大数据挖掘、大数据安全和大数据可视化。3 .请举一个大数据在生活中应用的例子,并简要回答

3、大数据技术是如何应用的。拥堵监测。通过分析数据,可以实时获得用户的连贯位置信息。通过对信息长时间的统计,分析常驻用户和人车合并条件,挖掘道路中真正运行的用户。经过道路匹配、用户匹配、车向判断,车速计算、交通信息提取、道路交通状态判断等步骤,判断道路是否拥堵。在这个例子中,大数据技术是这样应用的:(1)大数据采集:通过采集用户的连贯位置信息,获取道路上的交通状况数据。(2)大数据预处理:对采集到的数据进行清洗和去重,问时对数据进行格式化处理和规范化处理。(3)大数据存储:将预处理后的数据存储到大数据存储系统中,例如HadOop、CaSSandra等,以便进行后续处理和分析。(4)大数据计算:通过

4、大数据计算技术,例如MaPRedUce、SPark等,对存储在大数据存储系统中的数据进行处理和分析,例如道路I兀配、用户匹配、车向判断、车速计算、交通信息提取等操作。(5)大数据挖掘:利用大数据挖掘技术,例如数据聚类、关联规则挖掘等,对处理后的数据进行挖掘和分析,以提取有价值的交通信息。(6)大数据可视化:将挖掘出的交通信息进行可视化展示,例如通过地图显示交通拥堵情况等,以便用户和交通管理部门实时了解交通状况。(7)大数据安全:对采臾到的用户位置信息和交通信息进行加密和安全处理,以确保用户数据的隐私和安全。4 .试述大数据的基本特征。大数据具有巨量性(Vo1.ume).多样性(Variety)

5、、高速性(Ve1.ocity),准确性(VerUCiIy)、高价值和低价值密度(Va1.ue)的特征。具体的:(1)Vo1.ume(巨显性):数据量巨大。这是大数据的显著特征,数据集合的规模不断扩大,已从GB级到TB级再到PB级,甚至已经到了EB级和ZB级。(2) Variety(多样性):数据类型更杂多样。以往产生或者处理的数据类型较为单,大部分是结构化数据,如传统文本类和数据库数据.如今,数据类型不仅包括结构化数据,还包括大量半结构化或者非结构化数据,如XM1.,邮件、博客、即时消息。此外,企业需要整合分析来自豆杂的传统和非传统信息源的数据,包括企业内部和外部的数据。(3) Ve1.oci

6、ty(高速性):数据具有高速性。数据产生、处理和分析的速度持续提高,数据流量大.速度提高的原因是数据创建的实时性及需要将流数据结合到业务流程和决策过程中。(4) Veracity(准确性):数据具有准确性。该特征体现了大数据的数据质量。较为典型的应用是网络垃圾邮件,它们给社交网络带来了严重的困扰。据统计,网络垃圾占万维网所有内容的20%以上。(5) Va1.ue(高价值,低价值密度):数据具有潜在价值。大数据由于数据量不断增大,堆位数据的价值密度不断降低,而数据的整体价值不断提高。有人甚至将大数据等同于黄金和石油,表示大数据中蕴含了无限的商业价值。5 .大数据处理的数据类型有哪些?大数据处理的

7、数据类型包括结构化数据、半结构化数据和非结构化数据。这些类型的数据都可以被大数据技术处理。其中,结构化数据是指数据库,也称作行数据,是由二维表形式来逻辑表达和实现的数据“半结构化数据具有一定的结构性,且和具有严格理论模型的关系型数据库的数据相比更灵活。非结构化数据是与结构化数据相对的,它不适合用二维表形式表示,包括所有格式的办公文档、图片和音频、视频信息等。6 .商要回答大数据的出现为人们生活带来了哪些通要改变.大数据的出现为人们生活带来了许多重要改变.例如,大数据能够支持政务活动,如奥巴马竞选中的民意预测采用大数据存储和分析选民资料、筹集资金、投放广告等:然后,大数据可以提高社会服务能力,如

8、洛杉矶的智能交通ATSAC.采用感应器收集车速、流域等信息,进行实时处理。此外,大数据可以提高商业决策水平。例如,USXPreSS的物流运输使用大数据分析车辆状况,对车辆人员进行合理调度。总之,大数据的出现为人们生活带来了许多重要改变。它能够支持政务活动,提而社会服务能力,并提高商业决策水平这些只是大数据改变我们生活的几个例子。7 .大IM8、云计算和物联网三者之间有什么联系?又有哪些不同?大数据、云计算和物联网:者之间有着紧密的联系“物联网通过连接各种设备和传感器,产生了大量的数据。这些数据需要存储和分析,而云计兑提供了一个可扩展、弗性和经济高效的方式来存储和处理这些数据。大数据技术则用于分

9、析这些海量数据,从中提取有价值的信息。但它们也有着明显的不同:物联网(IoT)是指通过互联网连接的设备或对软的集合,它们通过互联网发送和收集数据,帮助设备做出决策并记住特定的模式和例程。物联网的目的是通过连接设备来提高效率、安全性和便利性。云计算是种计算模型,它允许用户通过网络访问共享的计算资源,如服务器、存储和应用程序。云计算提供r一个集中的系统来帮助传输数据和各种文件到数据中心,不同的数据和程序可以从集中的Z:系统轻松访问。大数据是指结构化和非结构化大量数据的分析过程,以获得对不同业务模式的洞察力。大数据指的是数据太庞大或第杂,无法使用通常方法处理。总之,物联网,云计算和大数据二.者之间有

10、着密切的联系,但它们也有着明显的不同。物联网是数据来源,大数据是数据分析平台,云计兜是存储、扩展和快速访问的位置。8 .对大数据未来的发展趋势,简要说说自己的看法。大数据技术的发展聘继续推动各行各业的数字化转型。随着人工智能、云计算、物联网和区块链等技术的不断发展,大数据将在这些领域发挥更大的作用。同时,随着数据量的不断增长,数据治理也将成为重要的议题。此外,大数据人才的培养和引进也将成为关键因素,以支持大数据行业的发展.第二章大数据采集1 .大数据与传统数据主要有些区别?大数据和传统数据的主要区别包括以下几个方面:(D数据规模:传统数据规模小,以MB,GB为单位;而大数据规模大,以TB、PB

11、为总位。(2)生成速度:大数据的生成速度远快于传统数据。(3)数据源:传统数据数据源集中,大数据数据源分散。(4)数据类型:传统数据通常是单一的结构化数据,而大数据则包结构化、半结构化、非结构化等多源异构数据。(5)数据存储:传统数据通常存储在关系型数据管理系统(RDBMS)中,而大数据存储在非关系型数据库(NoSQ1.),分布式存储系统(Hadoop分布式文件系统)中。(6)处理工具:传统数据只有一种或少数几种处理工具,而大数据不存在单一的全处理工具。2 .互联网的数据来源有IV些?主要特点是什么?(1)互联网数据主要源于各种网格和社交媒体的半结构化数据和非结构化数据,包括Web文本、单击流

12、数据、GPS和地理定位映射数据,通过管理文件传输协议传送的海量图像文件、评价数据、科学信息、电了邮件等。具体分为以下几个方面:网站和应用程序:互联网上的各种网站和应用程序都会产生大量的数据,如社交媒体、电子商务、搜索引擎等。传感器和设备:随着物联网的发展,越来越多的传感器和设备连接到互联网上,产生各种类型的数据,如气象数据、交通数据、智能家居数据等.开放数据:许多政府机构、科研机构和组织发布各种类型的开放数据,如人口普查数据、地理信息数据、科学研究数据等。用户生成内容:互联网上的用户生成内容包括文本、图像、视频、音频等,这些内容可以通过社交媒体,博客、论坛等进行分享和发布.(2)互联网数据的主

13、要特点包括以下几个方面:多样性:互联网数据来源多样化,包括结构化、半结构化和非结构化的数据,如文本、图像、音频、视频等。高速度:互联网数据增长速度非常快,需婴快速、实时地处理和分析1高容量:互联网数据量非常大,需要使用大规模的存储和处理技术来管理和分析。不确定性:互联网数据的来源和侦量不确定,需要进行数据清洗和预处理来提高数据质量.价值潜力:互联网数据包含大量有价值的信息和洞见,可以用于商业、科学、医疗等领域的决策和发展。3 .前述Kafka数据采集架构。Kafka是一个分布式消息系统,它具有高性能、持久化、多副本、横向扩展的特点。Kafka的主要功能是构建可苑的、用于传输实时数据的管道,以及

14、构建实时的流数据处理应用来变换或处理流数据.Kafka的基本架构由PrOdUCer、Broker和ConSUmer三层组成,其中Producer将消息发布到Kafka集群,Broker负责保存和管理消息,而Consumer订阅特定TOPiC的消息并处理它们。整个过程中,Topic作为消息分类的逻辑概念,使得Producer发送的消息可以被正确地分发和消费。4 .主题可以分很多区,这些区有什么作用?对于每个TOPic,Kafka集群都会维持一个分区(Partition)日志。Partition的主要作用包括:(1)扩展数据容量:当单个Topic的数据容量超出单个Broker的存储能力时,可以通过

15、分散到多个Partition上来扩展存储容量。(2)分布式处理:Partition可以将数据分散到多个Broker上进行处理,提高整个系统的并发处理能力。5 .在Kafka架构中,ZooKeeper如何实现敷据管理?ZooKeeper在Kafka集群中扮演着重要的角色,通过管理元数据和集群成员关系,确保了Kafka集群的高可用性、高性能和可伸缩性。(I)ZooKeeper将Kafka集群的元数据存储在其自己的数据节点中.例如,ZooKeeper将每个Broker的信息存储在一个特定的节点上,这个节点的路径由固定的前级和BrokerID组成。每个Topic的信息也存储在特定的节点上,节点路径由固

16、定的前缀和Topic名称组成。同样,每个Partition的信息也存储在一个特定的节点上,路径由固定的前缀、Topic名称和PartitionID组成。(2)当Producer或Consumer启动时,它们将向ZooKeeper发送请求,查询特定Topic的元数据,例如分区数、分区在哪些Broker上,以及每个分区的1.eader和Fo1.1.ower.这些元数据信息将由ZooKeeper返回,并缓存在Producer或Consumer的内存中。(3)当某个Broker加入或退出Kafka集群时,它将向ZooKeeper发送请求,将自己的信息注册或注销。ZooKeeper将相应的节点添加或删除

17、,并通知集群中的其他Broker进行更新。(4)当某个Broker失效时,其他Broker会通过ZooKeeper感知到该事件,ZooKeeper将删除该Broker对应的节点,同时通知集群中的其他Broker进行更新。6 .什么是网络用虫?常用网络爬虫的抓取策略、更新策略及分析算法有IV些?(I)网络爬虫(又称为网页蜘蛛、网络机器人)是一种自动抓取Web信息的应用程序或脚本。它按照一定的规则和策略,在互联网上自动地,爬行和抓取网页,并将抓取到的数据存储到本地或远程服务潺中,以供进一步的处理和分析。网络爬虫通常用于搜索引擎、资讯果集、舆情监测、数据挖掘、网站性能测试等领域,(2)抓取策略:深度

18、优先策略是指按照深度由低到r的顺序依次访问下一级网页链接,直到不能再深入为止。广度优先策略是指按照广度优先的搜索思想,逐层抓取待抓取UR1.队列中的每个UR1.的内容,并将每一层的1.R1.,纳入已抓取UR1.队列中.局部PUgeRUnk策略是指借鉴PUgeRUnk的思想,按照一定的网页分析算法,预测候选UR1.与目标网页的相似度或与主题的相关性,并选取评价最好的个或几个IR1.进行抓取,即对已经下载的网页,连同待抓取UR1.队列中的UR1.形成网页集合,计算每个网页的PageRank值,计算完之后,将待抓取UR1.队列中的UR1.按照PageRank值的大小排序,并按照该顺序抓取网页。OPI

19、C策略,即对网页进行个重要性打分。大站优先策略.指对于待掠取UR1.队列中的所有网页,根据所属的网站进行分类。对于待下栽网页量大的网站,优先下我。反向链接数策略,使用反向链接数即一个网页被其他网页链接指向的数量来评价网页的重要程度,从而决定不同网页的抓取顺序。最佳优先搜索策略是指通过计算UK1.描述文本与目标网页的相似度或者与主题的相关性,根据所设定的阈值选出有效UR1.进行抓取。(3)更新策略:常见的网页更新策略包括用户体珀策略、历史数据策略及聚类分析策略。用户体瞪策略“在搜索引擎查询某个关键词时,通常会搜索大量的网页,并且这些网页会按照一定的规则进行排序,但是,大部分用户都只会关注邦序靠前

20、的网页,所以,在爬虫服务器资源有限的情况卜.,爬虫会优先更新排名结果旅前的网页。历史数据策略.依据某一个网页的历史数据,通过泊松分布进行建模等手段,预测该网页下一次更新的时间,从而确定下一次对该网页的爬取时间.聚类分析策略。该策略是将聚类算法运用于爬虫对网页更新的一种策略,其基本原理是先将海量网页进行聚类分析(按照相似性进行分类),般来说,相似网页的更新频率类似.聚类之后,这些海量网页公被分为多个簇,每个能中的网页具有类似的属性,即每个簇中的网页具有类似的更新频率。然后,对聚类结果的每个簇中的网页进行抽样,并计算出抽样网页的平均更新频率,从而确定每个聚类网页的爬虫频率。(4)分析算法:常用的网

21、页分析算法包括基于用户行为的网页分析算法、基于网络拓扑的网页分析算法及基于网页内容的网页分析算法。基于用户行为的网页分析算法会依据用户对这些网页的访问行为,对这些网页进行评价.用户的访问行为包括用户对网页的访问频率、用户对网页的访问时长、用户的点击率等信息。基于网络拓扑的网页分析算法是根据网页的链接关系、结构关系、已知网页或数据等对网页进行分析的种算法。常见的基于网络拓扑的网页分析算法包括基于网页粒度的分析算法、基r网站粒度的分析算法和基丁网页块粒度的分析第法。PageRank算法和HITS算法是最常见的基于网页粒度的分析算法。7 .什么是聚煞网络腰虫?聚焦网络爬虫也叫主迤网络爬虫,聚焦网络爬

22、虫是按照预先定义好的主题有选择地进行网页爬虫的一种爬虫方法。聚集网络爬虫不像通用网络爬虫一样将目标资源定位在全互联网中,而是将爬取的目标网页定位在与主题相关的网页中,这样可以大大节省爬虫时所需的带宽资源和服务器资源“8 .中文分词算法包括Ie些?现有的中文分词算法可分为基于字符串匹配的分词算法、基于理解的分词算法和基于统计的分词算法。(I)基于字符串匹配的分词算法基丁字符串匹配的分词算法又称机械分词莫法,它是按照一定的策略将待分词文本与一个“充分大的”机器词典中的词条进行匹配,若在机器词典中找到某个字符串,则匹配成功(识别出一个分词)。(2)基于理解的分词算法基理解的分词算法即人工智能算法。该

23、算法是通过让计算机模拟人为句子的理解达到分词效果的,其基本思想是在分词的同时进行句法、语义分析,利用句法信息和语义信息来处理歧义现象。(3)基于统计的分词算法基石统计的分词算法是在给定大量己经分词文本的前提下,利用统计原理、机器学习模型来学习文本切分的规律(称为训练),从而实现对未知文本的切分,如最大概率分词算法和母大埔分词算法等。9 .使用聚焦网络咫虫居取北上广等地近两年的空气质数据.# 页面过海条件:北上广等地+近两年importtimeimportrequestsfrombs4importBeuutifu1.Soup# 定义要吧取的城市列表city_1.ist=”beijing,shan

24、ghai,guangzho# 度义要爬取的时间列表1.ime1.ist=2021,2022”# 初始UR1.ur1.I=httpuaqiZ,# 定义UR1.列表Ur1.1.ist=# 防反爬,模仿浏览器发送信息headers=,User-Agent:Mozi1.1.a/5.0(WindowsNT10.0;Win64;x64)App1.eWebKit537.36(KHTM1.,1.ikeGecko)Chrome/107.0.0.0Safari/537.36,)fortintimeist:forkincity1.ist:foriinranged,13):time,s1.eep(0.5)#把1转换为

25、O1.ur1.=ur1.1.+k+,-+t+sir(飞02d*%i)+,.htm1.,print(ur1.)responserequests,get(ur1.=ur1.,headers=headers)soup=Bcautifu1.Soup(response,text,htm1.parser,)Ir=soup,finda1.1.Ctr,)去除标签栏forjintr1.:td=j.find_a1.I(,t1.,)Date=1.d.gettextO.StripOQua1.ity_grade=td1.get_textO.strip()AQI=td2.get_text().strip().,QIran

26、k=1.d3.ge1.text().strip()用I=td4.get_text()name=,air_+k+,_,+t+,.csv,withopen(n,+Q_rank+,+PM+,n()ur1.1.ist,append(ur1.)H已爬取UR1.存放到UR1.列表10.采用MMSEQ分词算法对“本科毕业设计模板”进行分词艇。#定义待分词文本和词典text=本科毕业设计模板”Wor1.dict=本科=毕业设计,模板,本,科毕二”毕业设计二设计模板”#定义最大匹配兑法函数defcmm(text,word_dict):resu1.t=whiIetext:#设区匹配的最大长度max_1.ength

27、=min(1.e11(text),Ien(worddict-1.j)力从最大长度开始向前也配foriinrange(max_1.ength,0.-1):if1.ext:iinworddiet:resu1.t,append(text:i)text=texti:breake1.se:resu1.t,append(text1.0)text=tcxt1.:returnresu1.t#定义消歧规则函数defru1e_disambiguation(words):# 1.优先选择较长的诃foriinrange(Ien(words):forjinrange(i+I,Ien(words):ifIen(words

28、iJ)Ien(wordsj):wordsi,wordsj=wordsj,wordsi# 2.如果两个词长度相同,则选择词频较高的词freq_dict=word:word_dict.count(word)forwordinWSOrte(1.WOrdS=sorted(froq_dict.iterns(),key=1.ambdax:x1,reverse=True)words=word0forwordinsorte1._wordsj# 3.如果两个词长度和词频都相同,则选择分词结果中首个诃returnwords#对文本进行分词resu1.t=cum(text,WOrd1.diCt)resu1.t=ru

29、1e_disambiguation(resu11)#输出分词结果print(resu1.t)分词处理结果为:本科毕业设计模板1 .数据清洗的主要任务是什么?懵用的数据清洗包括餐些技术?数据清洗的主要任务:纠正错误、标准化数据格式、清除异常和重第数据.常用的技术有:I)填充缺失值(忽略元组、人工填写、全局常量填充、中心度量填充等)2)光滑噪声数据(分箱、回归、急立点分析)3)识别和删除离群点4)纠正数据不一致2 .数据集成需要考虚的问题包括IV些?在数据集成过程中,模式识别、对象匹配、冗余问题、元组全复及数据值冲突的检测与处理都是需要重点考虑的问题。3 .依据规的的目的是什么?常用的规约技术包括

30、哪些?数据规约的目的:在海量数据上进行数据分析和数据挖掘成本很高,而数据规约可以用来得到数据集的规约表示,使得数据集变小,但同时保持仍然近于原数据的完整性。常用的规约技术有:1)维规约(减少所考虑的随机变量或者属性的个数):离散小波变换和主成分分析方法2)数量规约(用较小的数据集替换原数据集):参数方法和非参数方法3)数据压缩(通过数据转换,得到原数据的压缩表示):无损方法和有损方法4 .数据转换的主要任务是什么?常用的数据转换包括曜些技术?数据转换的主要任务:是将数据进行转换或统一成适合数据挖掘的形式。技术:光滑数据、数据聚集、属性构造、数据规范化、数据离散化及数据泛化。5 .简述实现两种数

31、据规范化的算法.最小最大规范化给定是数值属性,具有个观测值,假设和分别为属性的最小值和最大值,最小-最大规范化计算公式如下。分数()规范化分数规范化(乂称零均值规范化)是基于属性的均值和标准差的规范化。属性的值被规范化为的计匏公式如卜。式中,和分别为属性的均值和标准差,6 .茴述实现一种数据缺失值填充的算法。使用属性的中心度量(如均值或中位数)填充缺失值。根据数据分布的特点,如果数据分布是对称的,那么可以使用属性均值来填充缺失值:如果数据分布是帧斜的,那么可以使用属性中位数来填充缺失值。这种方法的本质是利用已存数据的信息来推测缺失值,并用推测值来实现填充。第四章大数据存储1.前试述分布式文件系

32、统设计的需求(1)透明性。具备访问透明性、位置透明性、性能透明性和伸缩透明性。(2)并发控制。客户端对于文件的读/写不应该影响其他客户端对同文件的读/写.(3)文件复制。一个文件可以拥有在不同位苴的多个副本.(4)硬件和操作系统的异构性:可以在不同的操作系统和计算机上实现同样的客户端和服务器端程序。(5)可伸缩性.支持节点的动态加入或退出.(6)容错性。保证文件服务在客户端或者服务端出现问题时能正常使用。(1)安全性。保障系统的安全性。2 .试述HDFS中的块和普通文件系统中的块的区别。11)s在文件块大小的设置上要远远大于普通文件系统,以使其在处理大规模文件时能够获得更好的性能。HDFS默认

33、一个块的大小是64MB,在HDFS中的文件会被拆分成多个块,每个块作为独立的单元进行存储。人们所熟悉的普通文件系统的块一般只有几千字节,HDFS在块的大小设置上明显要大于普通文件系统。HDFS寻址开销不仅包括磁盘引道开销,还包括文件块的定位开销3 .试述HDFS的冗余数据保存策略。每个数据节点会定期向名称节点发送心跳信息,向名称节点报告自己的状态。当数据节点发生故障,或者断网时,名称节点就无法收到来自一些数据节点的心跳信息,此时这些数据节点就会被标记为“宕机”,节点上面的所有数据都会被标记为“不可读”,名称节点不会再给它们发送任何I/O请求这时,有可能出现一种情况,即由于一些数据节点的不可用,

34、会导致一些文件块的副本数量小于冗余因子。名称节点会定期检查这种情况,一旦发现某个文件块的副本数量小于冗余因子,就会启动数据冗余复制,为它生成新的副本。HDFS与其他分布式文件系统的最大区别就是可以调整冗余数据的位理.4 .请丽述HBaee和传统关系型数据库的区别.(1)数据类型.关系型数据库采用关系模型,具有丰富的数据类型和存储方式.HBaSe则采用了更加筒单的数据模型,它把数据存储为未经解押的字符串,用户可以把不同格式的结构化数据和非结构化数据都序列化成字符串保存到HBase中,用户需要自己编写程序把字符串解析成不同的数据类型。(2)数据操作。关系型数据库中包含了丰富的操作,如插入、删除、更

35、新、查询等,其中会涉及更杂的多表连接,通常是借助于多个表之间的主外键关联来实现的。HBase操作则不存在比杂的表与表之间的关系,只有简单的插入、查询、制除、清空等,因为HBaSe在设计上避免品杂的表与表之间的关系,通常只采用单表的主键杳询,所以它无法实现像关系型数据库中那样的表与表之间的连接操作。(3)存储模式。关系型数据库是基于行存储的,元组或行会被连续地存储在亥盘页中.在读取数据时,需要先唤序扫描每个元组,然后从中筛选出查询所需要的属性。如果每个元组只有少量属性的值对于查询是有用的,那么基于行存储就会浪费许多磁盘空间和内存带宽。HBase是基于列存储的,每个列族(Co1.umnFami1.

36、y)都由几个文件保存,不同列族的文件是分离的,它的优点是:可以降低I/O开销,支持大量并发用户查询,因为仅需耍处理可以回答这些查询的列,而不需要处理与杳询无关的大量数据行;同一个列族中的数据会被一起进行压缩,由于同一列族内的数据相似度较高,因此可以获得较高的数据压缩比。(4)数据索引.关系型数据库通常可以针对不同列构建笑杂的多个索引,以提高数据访问性能。与关系型数据库不同的是,HBaSe只有一个索引一一行键(RowKey),通过巧妙的设计,HBase中的所有访问方法为通过行道访问或者通过行键扫描,从而使得整个系统不会慢下来。由于HBase位THadoop框架之上,因此可以使用HadoopMfi

37、pReduce来快速、高效地生成索引表。(5)数据维护。在关系里数据库中,更新操作会用当前值去替换记录中原来的旧值,I口值被覆盖后就不会存在。而在HBaSC中执行更新操作时,并不会删除数据旧的版本,而是生成一个新的版本,旧的版本仍然保留。(6)可伸缩性。关系型数据库很难实现横向扩展,纵向扩展的空间也比较有限。相反,HBase和BigTab1.e这些分布式数据库就是为了实现灵活的水平扩展而开发的,因此能够轻易地通过在集群中增加或者减少硬件数量来实现性能的伸缩。5 .请谢述HBase的数据分区机制。在一个HBase中,存储了许多表。对于I1.BaSe中的每个表而言,表中的行是根据行健值的字典序进行

38、维护的,表中包含的行数量可能非常庞大,无法存储在台机器上,需要分布存储到多台机器上。因此,需要根据行键值对表中的行进行分区,每个行区间构成一个Region.Region包含/位于某个值域区间内的所有数据,它是负载均衡和数据分发的她本单位。这些Region会被分发到不同的Region服务器上。HBaSe中的表被划分成多个Region,如图4.14所示。初始时,每个表只包含个Region,随着数据的不断插入Region的大小会持续增大,当一个Region中包含的行数地达到一个阈值时就会被自动等分成两个新的Region。随着表中行数板的增加,就会分裂出越来越多的Region。一个Region会分裂成

39、多个新的Regiono每个Region的钛认大小是100200MB。Master会将不同的Region分配到不同的Region服务器上,但是同一个Region是不会被分配到多个Region服务器上的。每个Region服务器负贡管理一个Region集合,通常在每个Region服务器上会放置101000个Region.6 .关系型敷据库与NoSQ1.之间的区别与联系是什么?区别:(I)NoSQ1.比关系型数据库更容易扩散。虽然NOSQ1.种类繁多,但由于它能够去掉关系型数据库的关系特性,从而使得数据之间无关系,这样就非常容易扩展,进而为架构层面带来了可扩展性。(2)NoSQ1.比般数据库具有更大的

40、数据量,而I1.性能更高。这主要得益于它的无关系性,数据库的结构简单.例如,在针对Web2.0的交互频繁应用时,由于MySQ1.的Cache是大粒度的,性能不高,故MySQ1.使用Cache时,每次更新表Cache就会失效,然而NOSQ1.中的Cache是记录级的,是种细粒度的Cache,所以就这个层面来说,NoSQ1.的性能就高很多1.(3)NQSQ1.具有灵活的数据模型。NoSQ1.不需要事先为要存储的数据建立字段,它可以随时存储自定义的数据格式。而在关系型数据库中,增税字段却是件非常麻烦的事情。这点在Wcb2.0大数据时代更为明显。(4)NoSQ1.的高可用性,在不太影响其他性能的情况下

41、NoSQ1.可以轻松地实现高可用的架构。例如,CaSSandra模型和HBaSe模型就可以通过更制模型来实现高可用性。(5)NoSQ1.缺乏强有力的商业支持。目前NoSQ1.绝大多数是开源项目,没有权威的数据库厂商提供完整的服务。因此,用户在使用NoSQ1.产品时,如果产品出现故障,就只能依我自己解决。(6)NoSQ1.成熟度不高。NOSQ1.在现实当中的实际应用较少,NoSQ1.的产品在企业中也并未得到广泛的应用。(7)NoSQ1.难以体现实际情况由丁NoSQ1.不存在与关系型数据库中的关系数据模型类似的模型,因此对数据库的设计难以体现业务的实际情况,这也就增加了数据库设计与维护的难度。联系

42、:分布式存储系统更适合用NoSQ1.,但是NOSQ1.存在的问题又让用户难以放心使用。这使很多开发人员考虑将关系型数据库与NoSQ1.相结合,在强一致性和高可用性场景卜.,采用ACID模型:而在高可用性和扩展性场景卜;采用BASE模型。虽然NoSQ1.可以对关系型数据库在性能和扩展性上进行弥补,但目前NoSQ1.还难以取代关系型数据库,所以才需要把关系型数据库和NoSQ1.结合起来使用,各取所长。7.CAP理论的特性是什么?1) .一致性。在分布式存储系统中,在执行过某项操作之后,所有节点仍具有相同的数据,这样的系统被认为具有致性。2) .可用性。在执行每个操作后,无论操作成功或者失败都会在一定时间内返回相应结果。3) .分区容忍性。分区容忍性可以理解为在网络由于某种原因被分隔成若干个孤立的区域,且区域之间互不相同时,仍然可以接受请求.

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号