《大数据基础期末复习.docx》由会员分享,可在线阅读,更多相关《大数据基础期末复习.docx(21页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、大数据基础期末复习1.大数据概念、大数据的性质、大数据技术概述、大数据应用趋势与应用实例大数据5V构造化非构造化半构造化数据大数据处理经过图1-5大数据的技术特征。答Volume大体量即可从数百TB到数十数百PB、甚至EB规模。Variety多样性即大数据包括各种格式以及形态的数据。Velocity时效性即很多大数据需要在一定的时间限度下得到及时处理。Veracity准确性即处理的结果要保证一定的准确性。Value大价值即大数据包含很多深度的价值大数据分析挖掘以及利用带来宏大的商业价值。2.科学研究第一范式、第二范式、第三范式、第四范式。第一范式经历范式以观察以及实验为根据的研究。第二范式以建
2、模以及归纳为根底的理论学科以及分析范式又称为理论范式。第三范式以模拟复杂现象为根底的计算科学范式又称为模拟范式。第四范式以数据考察为根底结合理论、实验以及模拟一体的数据密集计算的范式数据被捕获或由模拟器生成利用软件处理信息以及知识存储在计算机中科学家使用数据管理以及统计学方法分析数据。3.分布式系统的CAP理论。CAP一致性所有节点在同一时间具有一样的数据。可用性保证每个恳求的成功或者失败都有相应。分区容错性系统中任意信息的丧失或者失败不影响系统的继续运行。CAP定理一个分布式系统不可能同时知足一致性、可用性、以及分区容错性最多只能同时知足两个系统需求。在考虑知足系统需求时要根据实际需要来选择
3、关注点进而采用相应的策略。CAP选择1.放弃分区容错性。2.放弃可用性。3.放弃一致性。4.MapReduce分布编程模型函数式语言的概念及特点Map及Reduce经过的含义及功能Hadoop分布式平台特点。函数式语言的概念以及特点函数式语言是一种典型的程序设计语言。特点是把问题求解经过表示成块构造对调用块的调用者来讲每个块都有输入数据以及经过加工处理后的输出数据。Map及Reduce经过的含义及功能Map映射Reduce化简。Map函数应用于集合中的所有成员然后返回一个基于这个处理的结果集。Reduce函数是从两个或者更多个Map结果中通太多个线程、进程或独立系统并执行处理的结果集进展分类以
4、及归纳。一个Map函数用来把一组键值对映象成一组新的键值对Reduce函数用来对同一个键的值进展合并。Hadoop分布式平台特点方便强健可横向扩展简单。大数据流式计算。流式计算的概念流式数据是指产生的护具不是批量的传输过来的而是像水一样流过来的流式数据的处理也是连续处理而不是批量处理。流式数据的特征实时性易失性突发性无序性无限性准确性大数据流式计算与批量计算的比拟对于先存储后计算实时性要求不高但对数据的准确性以及全面性更为重要的应用场景批量计算形式更为适宜对于无须存储可以直接进展数据计算实时性要求很严格但数据的准确度要求略微宽松的应用场景更适于流式计算。6.大数据搜索技术。搜索引擎由搜索器索引
5、器检索器以及用户接口四个局部组成。搜索器的功能是在互联网中遨游发现以及搜集信息索引器的功能是理解搜索器所搜索的信息从中抽取索引项用于表示文档和消费文档的索引表检索器的功能是根据用户的查询在索引库中快速检出文档进展文档与查询的相关度评价对将要输出的结果进展排序并实现某种用户相关性反应机制用户接口的作用是输入用户查询显示查询结果提供用户相关性反应机制。搜索引擎的分类全文目录元垂直集合式门户搜索引擎的工作经过爬行抓取存储预处理排名。搜索引擎评价指标查全率查准率响应时间覆盖范围用户方便性。7.大数据预处理技术。数据收集、数据清洗的根本方法不符合要求数据类别。数据抽取方法同构同质DW数据库效劳器以及原业
6、务系统之间建立直接的链接关系后利用构造化查询语言访问。同构异质通过ODBC的方式建立数据库链接。文件型利用数据库工具导入。增量更新将业务发生的时间作为增量标志。数据清洗的根本方法1.定义以及确定错误的类型。2.搜寻并识别错误的实例。3.纠正所发现的错误。不符合要求数据类别1.不完好的数据。2.异常的数据。3.重复的数据。8.大数据分析。大数据分析概述数据分析是指用准确适宜的分析方法以及工具来分析经过处理的数据提取具有价值的信息进而形成有效的结论并通过可视化技术展现出来的经过。根本数据分析方法统计方法、指标比照分析法、分组分析法、综合评价分析法、指数分析法、平衡分析法、平滑以及滤波、基线与峰值。
7、时间序列分析方法将同一指标的一系列数值按时间先后顺序排列就形成时间数列。通过时间数列的编制以及分析可以找出动态变化规律为预测将来的开展趋势提供根据。可视化分析方法直观地展示数据呈现大数据的特点。数据科学与数据思维。数据科学定义数据科学是指导数据分析与处理的科学、系统的理论与方法数据科学通过系统性地研究数据的组织以及使用可以促进发现、改良关键决策经过。主要研究内容与方法研究内容包括根底理论研究、数据技术及其应用研究及数据科学的学科体系研究。数据科学学科建立需要对知识构造、课程设置、专业设置等进展学科体系建立讨论数据科学、自然科学以及社会科学之间的关系等。10.大数据可视化数据可视化概念指将大型数
8、据集中的数据以图形图像形式表示运用计算机图形学以及图像处理技术将数据转换为图形或者图像在屏幕上显示出来并利用数据分析以及开发工具发现其中未知信息的交互处理的理论、方法以及技术。数据可视化应用范围医学、油气勘探、气象预报、工程。2.启动Hadoop系统当使用bin/start-all.sh命令启动时请给出集群各进程启动顺序。答启动顺序namenodedatanode-secondarynamenode-resourcemanager-nodemanager3.简述HBase的主要技术特点。答1列式存储2表数据是稀疏的多维映射表3读写的严格一致性4提供很高的数据读写速度5良好的线性可扩展性6提供海
9、量数据7数据会自动分片8对于数据故障hbase是有自动的失效检测以及恢复才能。9提供了方便的与HDFS以及MAPREDUCE集成的才能。4.Hive数据仓库中创立了以下外部表请给出对应的HQL查询语句CREATEEXTERNALTABLEsogou_ext(tsSTRING,uidSTRING,keywordSTRING,rankINT,orderINT,urlSTRING,yearINT,monthINT,dayINT,hourINT)COMMENTThisisthesogousearchdataofextenddataROWFORMATDELIMITEDFIELDSTERMINATEDBY
10、tSTOREDASTEXTFILELOCATION/sogou_ext/201605081给出独立uid总数的HQL语句答selectcount(distinctUID)fromsogou_ext;2对于keyword给出其频度最高的20个词的HQL语句答selectkeywordfromsogou_extgroupbykeywordorderbyorderdesclimit20;1.100万个字符串其中有些是一样的重复需要把重复的全部去掉保存没有重复的字符串。请结合MapReduce编程模型给出设计思路或者核心代码。P228PublicstaticclassProjectionMapexte
11、ndsMapperLongWritable,Text,Text,NullWritablePrivateintclo;Projectvoidsetup(Contextcontext)throwsIOException,InterruptedExceptionColcontext.getConfiguration().getInt(“col,0);Publicvoidmap(LongWritableoffset,Textline,Contextcontext)RelationArecordnewRelationA(line.toString();Context.write(newText(reco
12、rd.getCol(col),NullWritable.get();REDUCE端实当代码PublicstaticclassProjectionRediceextendsReducerText,NullWritable,Text,NullWritablePublicvoidreduce(Textkey,IterableNullWritablevalue,Contextcontext)throwsIOException,InterruptedExceptionContext.write(key,NullWritable.get();2.倒排索引设计。有一个文档库包含有大量的文档现需要使用MapR
13、educe编程技术对文档内容建立一个倒排索引库。要求Reduce最后输出键值对为单词,文件名#偏移量并且前后输出的一样的key所对应的文件名是字典序的。如word1doc1#200word1doc2#10word2doc2#10假设在map阶段已经获取了当前split分片的文件名是Stringfilename。请按要求给出设计思路或者核心代码。Map()StringfilenamefileSplit.getPath().getName();StringtempnewString();Stringlinevalue.toString().toLowerCase();StringTokenizer
14、iternewStringTokenizer(line);For(;itr.hasMoreTokens();)Tempiter.nextToken();If(!stopwordscontains(temp)TextwordnewText();Word.set(temp#fileName);Context.write(word,newIntWritable(1);ReducerPrivateIntWritableresultnewIntWritable();Publicvoidreduce(Text,key,IterableIntWritablevalues,Contextcontext)thr
15、owsIOException,InterruptedExceptionIntsumFor(InWritableval:values)Sumval.get();Result.set(sum);Context.write(key,result);3.请在下面程序的下划线中补充完好程序共8处。publicclassWordCountpublicstaticclassTokenizerMapperextendsMapperObject,Text,Text,IntWritableprivatefinalstaticIntWritableonenewIntWritable(1);privateTextwo
16、rdnewText();publicvoidmap(LongWritablekey,Textvalue,Contextcontext)StringTokenizeritrnewStringTokenizer(value.toString();while(itr.hasMoreTokens()word.set(itr.nextToken();context.write(word,one);publicstaticclassIntSumReducerextendsReducerText,IntWritable,Text,IntWritableprivateIntWritableresultnewI
17、ntWritable();publicvoidreduce(Texykey,IterableIntWritablevalues,Contextcontext)intsumfor(IntWritableval:values)sumval.get();result.set(sum);context.write(key,result);publicstaticvoidmain(Stringargs)throwsException略1.谈谈对Hadoop系统的组成及其根本工作原理的理解。1.MapReduce并行计算框架MapReduce并行计算框架是一个并行化程序执行系统。它提供了一个包含Map以及
18、Reduce两阶段的并行处理模型以及经过提供一个并行化编程模型以及接口让程序员可以方便快速地编写出大数据并行处理程序。MapReduce以键值对数据输入方式来处理数据并能自动完成数据的划分以及调度管理。在程序执行时MapReduce并行计算框架将负责调度以及分配计算资源划分以及输入输出数据调度程序的执行监控程序的执行状态并负责程序执行时各计算节点的同步和中间结果的采集整理。MapReduce框架提供了一组完好的供程序员开发MapReduce应用程序的编程接口。2.分布式文件系统HDFSHDFSHadoopDistributedFileSystem是一个类似于GoogleGFS的开源的分布式文件
19、系统。它提供了一个可扩展、高可靠、高可用的大规模数据分布式存储管理系统基于物理上分布在各个数据存储节点的本地Linux系统的文件系统为上层应用程序提供了一个逻辑上成为整体的大规模数据存储文件系统。与GFS类似HDFS采用多副本默认为3个副本数据冗余存储机制并提供了有效的数据出错检测以及数据恢复机制大大进步了数据存储的可靠性。3.分布式数据库管理系统HBase为了克制HDFS难以管理构造化/半构造化海量数据的缺点Hadoop提供了一个大规模分布式数据库管理以及查询系统HBase。HBase是一个建立在HDFS之上的分布式数据库它是一个分布式可扩展的NoSQL数据库提供了对构造化、半构造化甚至非构
20、造化大数据的实时读写以及随机访问才能。HBase提供了一个基于行、列以及时间戳的三维数据管理模型HBase中每张表的记录数行数可以多达几十亿条甚至更多每条记录可以拥有多达上百万的字段4.公共效劳模块CommonCommon是一套为整个Hadoop系统提供底层支撑效劳以及常用工具的类库以及API编程接口这些底层效劳包括Hadoop抽象文件系统FileSystem、远程经过调用RPC、系统配置工具Configuration和序列化机制。在0.20及以前的版本中Common包含HDFS、MapReduce以及其他公共的工程内容从0.21版本开场HDFS以及MapReduce被别离为独立的子工程其余局
21、部内容构成HadoopCommon。5.数据序列化系统AvroAvro是一个数据序列化系统用于将数据构造或者数据对象转换成便于数据存储以及网络传输的格式。Avro提供了丰富的数据构造类型快速可压缩的二进制数据格式存储持久性数据的文件集远程调用RPC以及简单动态语言集成等功能。6.分布式协调效劳框架ZookeeperZookeeper是一个分布式协调效劳框架主要用于解决分布式环境中的一致性问题。Zookeeper主要用于提供分布式应用中经常需要的系统可靠性维护、数据状态同步、统一命名效劳、分布式应用配置项管理等功能。Zookeeper可用来在分布式环境下维护系统运行管理中的一些数据量不大的重要状
22、态数据并提供监测数据状态变化的机制以此配合其他Hadoop子系统如HBase、Hama等或用户开发的应用系统解决分布式环境下系统可靠性管理以及数据状态维护等问题。7.分布式数据仓库处理工具HiveHive是一个建立在Hadoop之上的数据仓库用于管理存储于HDFS或者HBase中的构造化/半构造化数据。它最早由Facebook开发并用于处理并分析大量的用户及日志数据2020年度Facebook将其奉献给Apache成为Hadoop开源工程。为了便于熟悉SQL的传统数据库使用者使用Hadoop系统进展数据查询分析Hive允许直接用类似SQL的HiveQL查询语言作为编程接口编写数据查询分析程序并
23、提供数据仓库所需要的数据抽取转换、存储管理以及查询分析功能而HiveQL语句在底层实现时被转换为相应的MapReduce程序加以执行。8.数据流处理工具PigPig是一个用来处理大规模数据集的平台由Yahoo!奉献给Apache成为开源工程。它简化了使用Hadoop进展数据分析处理的难度提供一个面向领域的高层抽象语言PigLatin通过该语言程序员可以将复杂的数据分析任务实现为Pig操作上的数据流脚本这些脚本最终执行时将被系统自动转换为MapReduce任务链在Hadoop上加以执行。Yahoo!有大量的MapReduce作业是通过Pig实现的。9.键值对数据库系统CassandraCassa
24、ndra是一套分布式的K-V型的数据库系统最初由Facebook开发用于存储邮箱等比拟简单的格式化数据后Facebook将Cassandra奉献出来成为Hadoop开源工程。Cassandra以Amazon专有的完全分布式Dynamo为根底结合了GoogleBigTable基于列族ColumnFamily的数据模型提供了一套高度可扩展、最终一致、分布式的构造化键值存储系统。它结合了Dynamo的分布技术以及Google的Bigtable数据模型更好地知足了海量数据存储的需求。同时Cassandra变更垂直扩展为程度扩展相比其他典型的键值数据存储模型Cassandra提供了更为丰富的功能。10.
25、日志数据处理系统ChukwaChukwa是一个由Yahoo奉献的开源的数据采集系统主要用于日志的采集以及数据的监控并与MapReduce协同处理数据。Chukwa是一个基于Hadoop的大规模集群监控系统继承了Hadoop系统的可靠性具有良好的适应性以及扩展性。它使用HDFS来存储数据使用MapReduce来处理数据同时还提供灵敏强大的辅助工具用以分析、显示、监视数据结果。11.科学计算根底工具库HamaHama是一个基于BSP并行计算模型BulkSynchronousParallel大同步并行模型的计算框架主要提供一套支撑框架以及工具支持大规模科学计算或具有复杂数据关联性的图计算。Hama类
26、似Google公司开发的PregelGoogle利用Pregel来实现图遍历BFS、最短途径SSSP、PageRank等计算。Hama可以与Hadoop的HDSF进展完美的整合利用HDFS对需要运行的任务以及数据进展持久化存储。由于BSP在并行化计算模型上的灵敏性Hama框架可在大规模科学计算以及图计算方面得到较多应用完成矩阵计算、排序计算、PageRank、BFS等不同的大数据计算以及处理任务。12.数据分析挖掘工具库MahoutMahout来源于ApacheLucene子工程其主要目的是创立并提供经典的机器学习以及数据挖掘并行化算法类库以便减轻需要使用这些算法进展数据分析挖掘的程序员的编程
27、负担不需要自己再去实现这些算法。Mahout如今已经包含了聚类、分类、推荐引擎、频繁项集挖掘等广泛使用的机器学习以及数据挖掘算法。此外它还提供了包含数据输入输出工具和与其他数据存储管理系统进展数据集成的工具以及构架。13.关系数据交换工具SqoopSqoop是SQL-to-Hadoop的缩写是一个在关系数据库与Hadoop平台间进展快速批量数据交换的工具。它可以将一个关系数据库中的数据批量导入Hadoop的HDFS、HBase、Hive中可以以反过来将Hadoop平台中的数据导入关系数据库中。Sqoop充分利用了HadoopMapReduce的并行化优点整个数据交换经过基于MapReduce实现并行化的快速处理。14.日志数据采集工具FlumeFlume是由Cloudera开发维护的一个分布式、高可靠、高可用、合适复杂环境下大规模日志数据收集的系统。它将数据从产生、传输、处理、输出的经过抽象为数据流并允许在数据源中定义数据发送方进而支持采集基于各种不同传输协议的数据并提供对日志数据进展简单的数据过滤、格式转换等处理才能。输出时Flume可支持将日志数据写往用户定制的输出目的。兰亭落雪
限制150内