大数据技术原理与应用从入门到实战蒋亚平课后参考答案_第1页
大数据技术原理与应用从入门到实战蒋亚平课后参考答案_第2页
大数据技术原理与应用从入门到实战蒋亚平课后参考答案_第3页
大数据技术原理与应用从入门到实战蒋亚平课后参考答案_第4页
大数据技术原理与应用从入门到实战蒋亚平课后参考答案_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第1章1.填空题(1)、结构化数据、半结构化数据(2)、数据量大(Volume)、处理速度快(Velocity)、数据类型多样(Variety)、价值密度低(Value)(3)、10242.选择题1-3、BCD3.简答题(1)试述大数据的关键技术。大数据处理关键技术一般包括:大数据采集、大数据预处理、大数据存储及管理、大数据分析及挖掘、大数据展现和应用(大数据检索、大数据可视化、大数据应用、大数据安全等)。大数据采集技术:数据采集是通过RFID射频技术、传感器以及移动互联网等方式获得的各种类型的结构化及非结构化的海量数据。大数据预处理技术:大数据预处理主要完成对已接收数据的抽取、清洗等操作。大数据存储及管理技术:大数据存储与管理要用存储器把采集到的数据存储起来,建立相应的数据库,并进行管理和调用。要解决大数据的可存储、可表示、可处理、可靠性及有效传输等几个关键问题。大数据分析及挖掘技术:数据分析及挖掘技术是大数据的核心技术。数据展现和应用:大数据技术能够将隐藏于海量数据中的信息挖掘出来,从而提高各个领域的运行效率。在我国,大数据重点应用于以下三大领域:商业智能、政决策和公共服务。(2)简述大数据应用的领域。大数据的应用领域主要有:1.电商领域;2.医疗领域;3、物流领域;4.政府领域;5.传媒领域;6.金融领域;7.教育领域;8.交通领域。第2章1.填空题(1)、Shell(2)、Xshell、Xftp(3)、systemctlrestartnetwork.service、ipaddr、hostname(4)、grep、cp、tar(5)、负载均衡集群2.选择题1-4、CDCA3.简答题(1)请阐述Linux配置服务器网络的详细过程。首先点击虚拟机菜单“编辑→虚拟网络编辑器”。然后,点击右下角“更改设置”后,如下图所示,选中“NAT模式”,设置子网IP为“”,接着点击“确定”。图2-20配置网络以“root”身份登录到master,执行命令“vi/etc/sysconfig/network-scripts/ifcfg-ens33”修改网络信息。修改内容如下,BOOTPROTO设置为dhcp表示动态获取网络IP,设置为static表示静态网络IP。UUID--删除ONBOOT=yes--修改BOOTPROTO=staticIPADDR=01--添加NETMASK=GATEWAY=DNS1=14执行命令“systemctlrestartnetwork.service”重启网卡重新加载配置文件,执行命令“ipaddr”或者“ifconfig”查看IP地址。执行命令”ping”测试网络,执行命令“ctrl+c”终止命令的执行。试述免密钥登录配置。可以一次性配置好三台主机。下面命令前的[123]表示三台主机同时操作(点击菜单“工具→发送键输入到所有会话)。【123】ssh-keygen-trsa-P''-f~/.ssh/id_rsa【123】vi/etc/ssh/ssh_config在最后添加StrictHostKeyCheckingnoUserKnownHostsFile/dev/null##将秘钥分别拷贝给自己和别人【123】ssh-copy-id-i~/.ssh/id_rsa.pubroot@master【123】ssh-copy-id-i~/.ssh/id_rsa.pubroot@slave0【123】ssh-copy-id-i~/.ssh/id_rsa.pubroot@slave1上面三条命令都需要输入密码:123456第3章1.填空题(1)、HDFS、MapReduce、YARN(2)、NameNode、DataNode(3)、64、128(4)、客户端(5)、机架感知策略2.选择题1-5、AACBC3.简答题(1)简述HDFS的数据读取流程和写入流程。HDFS的数据读取流程:HDFS会返回一个FSDataInputStream对象,FSDataInputStream类转而封装成客户端发起读请求。客户端与NameNode得到文件的块及位置信息列表。客户端直接和DataNode交互读取数据。读取完成关闭连接。HDFS的数据写入流程:同读文件过程一样,FSDataOutputStream类转而封装成DFSDataOutputStream对象,这个对象管理着与DataNode和NameNode的I/O,具体过程如下。待临时文件达到块大小时开始向NameNode请求DataNode信息。NameNode在文件系统中创建文件并返回给客户端一个数据块及其对应DataNode的地址列表(列表中包含副本存放的地址)。客户端通过上一步得到的信息把创建临时文件块Flush到列表中的第一个DataNode。当文件关闭,NameNode会提交这次文件创建,此时文件在文件系统中可见。试述HDFS中如何实现元数据的维护。NameNode的元数据是通过fsimage文件+edit编辑日志来维护的,当NameNode启动的时候fsimage文件的edits编辑日志中的内容会被加载到内存中进行合并并形成元数据信息,当我们对元数据进行操作的时候,考虑到会直接修改文件的低效性,从而不会直接修改fsimage文件,而是会往edits编辑日志中追加操作记录。当满足一定条件的时候,我们会让SecondaryNameNode来完成fsimage和edits编辑日志的合并,SecondaryNameNode首先会让NameNode停止对正在使用的edits编辑日志的使用,并重新生成一个新的edits编辑日志。接着把NameNode的fsimage文件和已经停止的edits文件拷贝到本地在内存中将edits编辑日志的操作记录合并到fsimage文件中形成一个最新的fsimage文件,最后会将这个fsimage文件推送给NameNode并且自己也备分一份。(3)请阐述NN和DN的关系,以及DN的工作流程。NameNode和DataNode是一对多的关系,一个NN管理多个DN的数据块的元数据信息。NameNode是负责文件元数据的操作,DataNode负责处理文件内容的读写请求,跟文件内容相关的数据流不经过NameNode,只询问它跟哪个DataNode联系,否则NameNode会成为系统的瓶颈。副本存放在哪些DataNode上由NameNode来控制,根据全局情况作出块放置决定,读取文件NameNode尽量让用户读取最近的副本,降低读取网络开销和读取延时。DN的工作流程如下图所示。一个数据块在DataNode上以文件形式存储在磁盘上,包括两个文件,一个是数据本身,一个是元数据Q包括(数据块的长度,块数据的校验和,以及时间戳)。DataNode启动后向NameNode注册,通过后,周期性(默认6小时)的向NameNode上报所有的块信息。心跳是每3秒一次,心跳返回结果带有

NameNode给该

DataNode的命令如复制块数据到另一台机器,或删除某个数据块。如果超过10分钟+30秒没有收到某个DataNode的心跳,则认为该节点不可用。集群运行中可以安全加入和退出一些机器。第4章1.填空题(1)、mkdir(2)、9870、8088(3)、chmod(4)、/etc/profile(5)、start-dfs.sh、start-yarn.sh、start-all.sh2.选择题1-5、BBCAD3.思考题(1)试述搭建Hadoop集群需要配置哪些文件,阐述每个文件的作用。搭建Hadoop集群需要配置以下文件:hadoop-env.sh文件:配置Hadoop运行环境相关的配置信息,比如配置JAVA_HOME、HDFS、YARN等。core-site.xml文件:配置Hadoop运行时所需的核心环境变量。如HDFS默认文件系统的URI、客户端访问HDFS所使用的用户账号等。hdfs-site.xml:配置HDFS的属性,例如数据块大小、副本数量、名字节点和数据节点的地址、缓存等。yarn-site.xml:配置YARN集群的各种参数。包括集群的资源配置、节点管道配置、容器分配策略等。mapred-site.xml:配置MapReduce的属性,例如mapreduce运行的框架、开启mapreduce最小任务模式。假设/opt/jyp目录下有一个程序包hdfs_examples-1.1.1.jar,写出终端命令来执行这个程序。终端命令为:hadoopjar/opt/jyp/hdfs_examples-1.1.1.jar第5章1.填空题(1)Zookeeper(2)HDFS(3)Client、Master、Region、RegionServer、Zookeeper和StoreFile等(4)Timestamp(5)分区检索和物理存储文件检索2.选择题1-5、D、D、B、C、D3.简答题(1)分别解释HBase中行键、列和时间戳的概念。答:1)行(Row)。在表里面,每一行代表着一个数据对象。每一行都是由一个行键(RowKey)和一个或者多个列组成的。行键是行的唯一标识。2)列族(ColumnFamily)。在定义HBase表的时候需要提前设置好列族,表中所有的列都需要组织在列族里面。3)时间戳(Timestamp)。默认情况下,每一个单元中的数据插入时都会用时间戳来进行版本标识。(2)请举个实例来阐述HBase的概念视图和物理视图的不同?答:例如以下的HBase的概念视图:物理视图:第6章1.填空题(1)fasle(2)一致性协调(Coordination)(3)16010(4)bin/start-hbase.sh(5)leader(主节点)、follower(子节点)和observer(次级子节点)2.选择题1-5、D、B、D、B、A3.简答题(1)在HBase中创建表mytable,列为data,并在列族data中添加三行数据:行号分别为:row1,row2,row3;列名分别为:data:1,data:2,data:3;值分别为:zhangsan,zhangsanfeng,zhangwuji。答:create'mytable','data'put'mytable','row1','data:1','zhangsan'put'mytable','row2','data:2','zhangsanfeng'put'mytable','row3','data:3','zhangwuji'(2)删除mytable表。答:Disable‘mytable’Drop‘mytable’第7章1.填空题(1)内部数据采集、外部数据采集(2)systemctlstatusmysqld.service(3)抽取(Extract)、转换(Transform)、加载(Load)(4)Agent、Source、Channel、Sink和Event(5)MemoryChannel和FileChannel2.选择题1-4、C、A、C、B3.简答题(1)请描述内部数据采集与外部数据采集的区别。

答:内部数据采集是指从组织内部获取数据的过程。这可以包括从数据库、信息系统、日志文件、表格、调查问卷和其它来源收集信息。外部数据采集是指从组织外部获取数据的过程。这可以包括从公共来源、社交媒体、第三方数据提供商、网络抓取和其它来源收集信息(2)请简单阐述Sqoop和Flume的区别。答:Sqoop主要用于批量传输结构化数据,而Flume主要用于实时采集和传输半结构化或非结构化数据。它们分别适用于不同的数据传输和数据采集场景,并在数据采集过程中发挥着不同的作用第8章1.填空题(1)点对点模式(pointtopoint)和发布/订阅模式(publish/subscribe)(2)多个(3)bin/kafka-server-start.shconfig/perties(4)一个Consumer(5)consumer2.选择题1-4、A、B、D、D、A3.简答题(1)在Kafka中,使用命令创建一个名为“swxy”的Topic,并发送消息“welcometoswxy”。答:/kafka-topics.sh--bootstrap-servermaster:9092--create--partitions1--replication-factor3--topicswxy(2)使用命令消费上述的消息答:bin/kafka-console-consumer.sh--bootstrap-servermaster:9092--topictest--from-beginning第9章1.填空题(1)、分而治之(2)、Shuffle、Reduce任务(3)、WritableComparable(4)、key(5)、计算向数据(6)、Reducer、Mapper2.选择题1-3、ACA3.思考题(1)试述Map函数和Reduce函数各自的输入、输出以及处理过程。Map和Reduce函数的输入输出函数输入输出说明Map<k1,v1>List(<k2.v2>)数据集解析成<Key,Value>对,输入Map函数,处理后输出一批<Key,Value>中间结果Reduce<k2,List(v2)><k3,v3>Map函数的输出经过合并、排序处理后就是Reduce函数的输入,List(v2)表示一批属于同一个k2的value值Map函数和Reduce函数各自的输入、输出如上图所示。MapReduce框架运转在<key,value>键值对上,框架把作业的输入看成是一组<key,value>键值对,同样也产生一组<key,value>键值对作为作业的输出,这两组键值对可能是不同的。具体处理过程见思考题(2)。(2)试述MapReduce从读取数据开始到将最终结果写入HDFS经过了哪些步骤?一个MapReduce作业的输入和输出类型如上图所示,从图可以看出整个标准的流程中,会有三组<key,value>键值对类型的存在。Mapper执行过程:把输入目录下的文件按照一定的标准进行逻辑切片。对切片中的数据按照一定规则解析成<key,value>对。调用Mapper类中的map方法。按照一定的规则对第三阶段输出的键值对进行分区。对每个分区中的键值对进行排序。对数据进行局部聚合处理,也就是combiner处理。键相同的键值对会调用一次reduce方法。经过这一阶段,数据量会减少。Reduce执行过程:Reducer任务主动从Mapper任务复制其输出的键值对。把复制到Reducer本地数据,全部进行合并,即把分散的数据合并成一个大的数据,再对合并后的数据排序。对排序后的键值对调用reduce方法。键相同的键值对调用一次reduce方法。最后把这些输出的键值对写入到HDFS文件中。(3)试画出使用MapReduce来对英语句子“Afriendinneedisafriendindeed”进行单词统计的过程。单词统计的过程如图所示。拆分输入数据。拆分数据(Split)属于Map的输入阶段,系统会逐行读取文件的数据,得到一系列的(Key/Value)。执行Map方法。分割完成后,系统会将分割好的(Key/Value)对交给用户定义的Map方法进行处理,生成新的(Key/Value)对。排序与合并处理。系统在得到Map方法输出的(Key/Value)对后,Mapper会将它们按照Key值进行排序,并执行Combine过程,将Key值相同的Value值累加,得到Mapper的最终输出结果。Reduce阶段的排序与合并。第10章1.选择题1-5、DCCDB2.思考题(1)请阐述如下Spark的几个主要概念:RDD、DAG、阶段、分区、窄依赖、宽依赖。①RDD:是弹性分布式数据集(Resilient Distributed Dataset)的英文缩写,是分布式内存的一个抽象概念,提供了一种高度受限的共享内存模型。

②DAG:是Directed Acyclic Graph(有向无环图)的英文缩写,反映RDD之间的依赖关系。

③阶段:是作业的基本调度单位,一个作业会分为多组任务,每组任务被称为“阶段”,或者也被称为“任务集”。

④分区:一个RDD就是一个分布式对象集合,本质上是一个只读的分区记录集合,每个RDD可以分成多个分区,每个分区就是一个数据集片段。

⑤窄依赖:父RDD的一个分区只被一个子RDD的一个分区所使用就是窄依赖。

⑥宽依赖:父RDD的一个分区被一个子RDD的多个分区所使用就是宽依赖。(2)Spark对RDD的操作主要分为行动操作和转换操作两种类型,两种操作的区别是什么?RDD主要有两大类操作,分别为转换(Transformations)和行动(Actions)。转换主要是指把原始数据集加载到RDD以及把一个RDD转换另外一个RDD,而行动主要指把RDD存储到硬盘或触发转换执行。请简述Spark工作流程的特点。在Spark中,RDD是采用惰性求值,即每次调用行动算子操作,都会从头开始计算,这对迭代计算来说代价很大,因为迭代计算经常需要多次重复的使用同一组数据集,所以,为了避免重复计算的开销,让Spark对数据集进行持久化操作。第11章1.单选题1-5、CBC2.多选题1。BCD2.ABCD3.AC4.BD5.ABCD6.ABCD3.思考题(1)Spark的集群部署方式有几种?各有什么特点?Standalone模式:又称为独立部署模式,该模式采用Spark自带的简单集群管理器(ClusterManager),不依赖第三方提供的集群管理器。这种模式比较方便快捷。Yarn模式:这种模式采用Hadoop2.0以上版本中的Yarn充当集群管理器。本书采用了这种模式,因此下面的安装需要确保Hadoop3.3已经安装好,并且在启动Spark或在提交Spark应用程序时,Hadoop3.3已经正常启动。Mesos模式:Mesos是由加州大学伯克利分校AMPLab开发的通用群集管理器,支持Hadoop、ElasticSearch、Spark、Storm和Kafka等系统。Mesos内核运行在每个机器上,在整个数据中心和云环境内向分布式系统(如Spark等)提供集群管理的API接口。简述Spark运行的基本流程1构建SparkApplication的运行环境(启动SparkContext),SparkContext向资源管理器(可以是Standalone、Mesos或YARN)注册并申请运行Executor资源;2资源管理器分配Executor资源并启动StandaloneExecutorBackend,Executor运行情况将随着心跳发送到资源管理器上;

3SparkContext构建成DAG图,将DAG图分解成Stage,并把Taskset发送给TaskScheduler。Executor向SparkContext申请Task

4TaskScheduler将Task发放给Executor运行同时SparkContext将应用程序代码发放给Executor。请阐述搭建Spark开发环境的关键步骤。下载Spark安装包2.解压Spark安装包3.配置Spark环境变量4.修改模板文件5.配置spark-env.sh环境变量6.配置workers文件7.配置spark-defaults.conf文件8.复制master上的Spark到slave节点9.启动并验证Spark第12章1.单选题1-5、BABCA2.思考题(1)试述机器学习算法按照学习理论分,分为哪几类?按学习理论分,机器学习模型可以分为有监督学习,半监督学习,无监督学习,迁移学习和强化学习。监督学习是训练样本带有标签,分为回归和分类两大部分;半监督学习是训练样本部分有标签,部分无标签;无监督学习是训练样本无标签;迁移学习是把已经训练好的模型参数迁移到新的模型上以帮助新模型训练;强化学习是一个学习最优策略,可以让本体(agent)在特定环境中,根据当前状态,做出行动,从而获得最大回报。强化学习和有监督学习最大的不同是,强化学习每次的决定没有对与错,而是希望获得最多的累计奖励。详细阐述大数据和机器学习的区别和联系。大数据的核心是利用数据的价值,机器学习是利用数据价值的关键技术,对于大数据而言,机器学习是不可或缺的。相反,对于机器学习而言,越多的数据会越可能提升模型的精确性,同时复杂的机器学习算法的计算时间也迫切需要分布式计算与内存计算这样的关键技术。因此,机器学习的兴盛也离不开大数据的帮助。大数据与机器学习两者是互相促进,相依相存的关系。机器学习与大数据联系紧密。但是,必须清醒的认识到,大数据并不等同于机器学习,同理,机器学习也不等同于大数据。大数据中包含有分布式计算,内存数据库,多维分析等等多种技术。试述常用的分类算法有哪些,各自的特点是什么?贝叶斯分类法优点:

1)所需估计的参数少,对于缺失数据不敏感。

2)有着坚实的数学基础,以及稳定的分类效率。

缺点:

1)假设属性之间相互独立,这往往并不成立。(喜欢吃番茄、鸡蛋,却不喜欢

吃番茄炒蛋)。

2)需要知道先验概率。

3)分类决策存在错误率。决策树优点:

1)不需要任何领域知识或参数假设。

2)适合高维数据。

3)简单易于理解。

4)短时间内处理大量数据,得到可行且效果较好的结果。

5)能够同时处理数据型和常规性属性。

缺点:

1)对于各类别样本数量不一致数据,信息增益偏向于那些具有更多数值的特征。

2)易于过拟合。

3)忽略属性之间的相关性。

4)不支持在线学习。支持向量机优点:

1)可以解决小样本下机器学习的问题。

2)提高泛化性能。

3)可以解决高维、非线性问题。超高维文本分类仍受欢迎。

4)避免神经网络结构选择和局部极小的问题。

缺点:

1)对缺失数据敏感。

2)内存消耗大,难以解释。

3)运行和调差略烦人。(4)试述决策树算法的思想。采用自顶向下的递归方法,以信息熵为度量,从训练数据集中学习(拟合)出一棵决策树第13章1.填空题(1)、HDFS、limit、external(2)、group(3)、Hadoop(4)、like(5)、内部2.选择题1-2、CC3.思考题(1)试述数据仓库分层的源数据层、数据仓库层和数据应用层的执行流程。首先源数据层采集并存储的数据来源于不同的数据源,例如点击流数据、数据库数据及文档数据等;然后通过ETL将清洗和转换后的数据装载到数据仓库层;最终数据应用层根据实际业务需求获取数据仓库层的数据实现报表展示、数据分析或数据挖掘等操作。(2)请阐述什么是分区表和分桶表,以及它们的作用。分区表是指将数据按照某种规则划分为多个逻辑上的部分,每个部分称为一个分区。分区表可以根据数据的某个特征进行分区,比如按照时间、地理位置、用户等信息进行分区。通过将数据分散存储在不同的分区中,可以提高数据的查询速度,同时方便进行数据的维护和管理。分桶表是一种用于优化查询而设计的表类型,对应的数据文件在底层被分解为若干个部分,通俗来说就是被拆分成若干个独立的小文件。在分桶时,要指定根据哪个字段将数据分为几桶。分桶表有以下三个好处。1)基于分桶字段查询时,减少全表扫描。2)JOIN时可以提高MR程序效率,减少笛卡尔积数量(二张表按照关联字段分桶)。3)分桶表数据进行高效抽样。第14章1.选择题1-3、BAB2.思考题(1)试述DataX架构原理。1)设计理念:DataX的设计理念是一种星型数据链路,为了解决异构数据源同步问题。2)框架设计:DataX本身作为离线数据同步框架,采用Framework+Plugin架构构建。将数据源读取和写入抽象成为Reader/Writer插件,纳入到整个同步框架中。 Reader:数据采集模块,负责采集数据源的数据,将数据发给FrameWork。 Writer:数据写入模块,负责不断的向FrameWork取数据,并将数据写入到目的端。 FrameWork:用于连接Reader和Writer,作为两者的数据传输通道,并处理缓存,流控,并发,数据转换等核心问题。(2)试述数据可视化的步骤。1)新建数据源2)新建数据集3)新建仪表板(3)试述数据可视化的重要作用。数据可视化是指借助于图形化手段,清晰有效地传达与沟通信息,使用户能够快速地识别模式,交互式可视化能够让决策者对细节有更深层的了解。数据可视化的作用主要包括:1)化繁为简,实现可视化;2)更快发现新趋势、新机遇;3)有效增强数据交互性;4)复杂信息易理解;5)数据多维度显示;6)直观展示图;7)突破记忆限制。第15章1.选择题1-3、BDDCB2.思考题(1)试述协同过滤的优缺点。协同过滤推荐的优势在于,它不需要对物品或者用户进行严格的建模(这是与前两种算法的主要区别),而且不要求物品的描述是机器可理解的,它只要建立用户与物品的某种关系(如评价关系

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论