哈理工-大数据期末知识点总结[完整版]

前言

大数据与基础期末知识点总结

大数据期末知识点总结

一、大数据概论

  1. 论述大数据的4个基本特征(4V)。
    大量化:集中存储/计算 已经无法处理的数据量。
    多样性:数据多样性(结构化数据、非结构化数据、半结构化数据)
    高速性:数据被创建和移动速度快
    价值性:价值密度低,商业价值高
  2. 论述科学研究经历的4个阶段,实验科学、理论科学、计算科学、数据密集型科学。
    第一范式:实验科学,也称经验范式以观察和实验为依据的研究。
    第二范式:理论科学,也称理论范式以建模和归纳为基础的理论学科和分析范式。
    第三范式:计算科学,也称摸你范式以模拟复杂现象为基础的计算科学范式。
    第四范式:数据密集型科学,以数据考察为基础,联合理论、实验和模拟一体的数据集计算的范式,信息和知识存储在计算机中,科学家们使用数据管理和统计学方法分析数据。
  3. 大数据决策与传统的基于数据仓库决策的区别。
    数据仓库具备批量和周期性的技术加载以及数据变化的实时探测、传播和加载能力,能结合历史数据和实时数据实现分析和自动规则出发,从而提供对战略决策和战术决策。而大数据决策可以面向类型繁多的、非结构化的海量数据进行决策分析。
  4. 举例说明大数据的应用。
    职业篮球比赛大数据应用,专业篮球队会通过搜集大du量数据zhi分析赛事情况,然而他们还在为这些数据的整理和实际意义而发愁。通过分析这些数据,找到对手的弱点
  5. 举例说明大数据的关键技术。
    批处理计算、流计算、图计算、查询和分析计算。
  6. 什么是云计算。
    是基于互联网的相关服务的增加、使用和交付模式,通常涉及通过互联网来提供动态、易扩展且虚拟化的资源。
  7. 什么是物联网。
    物联网是一个基于互联网、传统电信网等的信息承载体,它让所有能够被独立寻址的普通物理对象形成互联互通的网络。
  8. 大数据、云计算、物联网之间的关系。
    物联网是大数据的基础,而云计算为大数据提供了数据存储服务和计算资源服务。
    二、Hadoop架构
  9. Hadoop架构与Google的MapReduce和GFS之间的关系。
    Hadoop的核心是分布式文件系统hdfs和mapreduce,hdfs是谷歌文件系统gfs的开源实现,mapreduce是针对谷歌和mapreduce的开源实现。
  10. Hadoop具有哪些特性。
    高可靠性、高效性、高可扩展性、高容错性、成本低、运行在Linux平台上、支持多种编程语言。
  11. Hadoop生态系统的构成及各部分功能。
    Hdfs:hadoop分布式文件系统,数据存储管理的基础,通过流式数据访问,提高吞吐量应用程序数据访问功能。
    Mapreduce:分布式计算框架,一种计算模型,map对数据集上的独立元素进行指定操作,生成键值对形成中间结果,reduce则对中间结果中相同键的所有值进行规约,以得到最终结果。
    Yarn:资源管理框架,对资源的分配和任务的调度以及监督。
    Sqoop:用于传统数据库和Hadoop之间的数据传输。
    Mahout:数据挖掘算法库,标是创建一些可扩展的机器学习领域经典算法的实现,旨在帮助开发人员更加方便快捷地创建智能应用程序
    Habse:分布式列存数据库,提供了对大规模数据的随机、实施读写访问,同时hbase中保存的数据可以使用mapreduce来处理。(bigtable)
    Zookeeper:分布式协作服务,解决分布式环境中数据管理问题。
    Pig: 基于Hadoop的数据流系统,通常用于进行离线分析
    Hive:基于Hadoop的数据仓库,通常用于进行离线分析
    Flume:日志收集工具,它将数据从产生、传输、处理并最终写入目标的路径的过程抽象为数据流,在具体的数据流中,数据源支持在Flume中定制数据发送方,从而支持收集各种不同协议数据。
  12. 实践:安装linux虚拟机、Hadoop环境,运行实例程序WordCount。

三、HDFS操作

  1. 分布式文件系统的设计有哪些要求。
    透明性、并发性、文件复制、硬件和操作系统异构性、可伸缩性、容错、安全。
  2. HDFS中的块与普通文件系统中的块有哪些区别。
    在传统的文件系统中,为了提高磁盘读写效率,一般以数据块为单位,而不是以字节为单位。
    HDFS中的块,默认一个块大小为64MB,而HDFS中的文件会被拆分成多个块,每个块作为独立的单元进行存储。HDFS在块的大小的设计上明显要大于普通文件系统。
  3. HDFS中的名字节点与数据节点的具体功能。
    Client:切分文件;访问HDFS;与NameNode交互,获取文件位置信息;与DataNode交互,读取和写入数据。
    NameNode:Master节点,在hadoop1.X中只有一个,管理HDFS的名称空间和数据块映射信息,配置副本策略,处理客户端请求
    DataNode:Slave节点,存储实际的数据,汇报存储信息给NameNode
    Secondary NameNode:辅助NameNode,分担其工作量;定期合并fsimage和edits,推送给NameNode;紧急情况下,可辅助恢复NameNode,但Secondary NameNode并非NameNode的热备。
  4. HDFS中只有一个名字节点,这种设计存在哪些问题。
    对于大型的集群,namenode的内存成为瓶颈,namenode的扩展性的问题;namenode的单点故障问题。
  5. HDFS如何探测错误的发生并进行恢复。
    数据节点错误:数据节点周期性发送心跳信息给名称节点,报告数据节点的状态信息,一旦发现某个数据块的副本数量小于冗余因子,启动数据冗余复制,为它生成新的副本。
    数据块错误:文件被创建时,客户端会对每一个文件块进行信息摘录,并把这些信息写入同一个路径的隐藏文件里面,名称节点会定期检查并重新复制该数据块。
    名称节点出错:名称节点保存所有元数据信息,核心数据结构是FsImage和EditLog
    实践:
  6. 编程:向HDFS上传文本文件,如果指定的文件在HDFS中已经存在,由用户决定是追加到原文件末尾还是覆盖原有文件。
  7. 编程:从HDFS下载指定文件,如果本地文件与要下载的文件名称相同,则自动对下载文件重命名。
  8. 将HDFS中指定文件内容输出到终端。
  9. 将HDFS中指定文件从源路径复制到目的路径。
    10.生成1000万个人记录,计算这些人的平均年龄。

四、云数据库

  1. 什么是云数据库。
  2. 与传统软件使用方式比较,云数据库有什么优点。
  3. 云数据库有哪些技术特性。
  4. 举例说明云数据库厂商及其代表性产品。
  5. 简述UMP系统功能。
  6. UMP系统组件及其作用。
  7. UMP系统实现主从备份的方法。
  8. UMP系统读写分离的实现方法。
  9. UMP系统如何保障数据安全。
    10.阿里云RDS的主要优势。
  10. RDS中实例与数据库的概念。
    实践:使用RDS for MySql数据库。
    五、MapReduce
  11. MapReduce与Hadoop的关系。
    hadoop是依据mapreduce的原理,用baiJava语言实现的分布式处理机制,MapReduce是Hadoop中的一个数据运算核心模块。
  12. 适合用MapReduce处理的任务或数据集应满足什么要求。
    待处理的数据集可以分解成许多小的数据集,而每一个小数据集都可以完全并行地进行处理。
  13. MapReduce模型采用Master(Job Tracker)-Slave(Task Tracker)结构,试描述各部分功能。
    (1)JobTracker:Master节点,只有一个,主要任务是资源的分配和作业的调度及监督管理,管理所有作业,作业/任务的监控、错误处理等;将任务分解成一系列任务,并分派给TaskTracker。
    (2)TaskTracker:Slave节点,运行Map Task和Reduce Task;并与JobTracker交互,汇报任务状态。
  14. MapReduce模型的核心是Map函数和Reduce函数,描述这两个函数各自的输入、输出及处理过程。
    Map端:

1) 输入数据进行分片之后,分片的大小跟原始的文件大小、文件块的大小有关。每一个分片对应的一个map任务。
2) map任务在执行的过程中,会将结果存放到内存当中,当内存占用达到一定的阈值(这个阈值是可以设置的)时,map会将中间的结果写入到本地磁盘上,形成临时文件这个过程叫做溢写。
3) map在溢写的过程中,会根据指定reduce任务个数分别写到对应的分区当中,这就是partition过程。每一个分区对应的是一个reduce任务。并且在写的过程中,进行相应的排序。在溢写的过程中还可以设置conbiner过程,该过程跟reduce产生的结果应该是一致的,因此该过程应用存在一定的限制,需要慎用。
4) 每一个map端最后都只存在一个临时文件作为reduce的输入,因此会对中间溢写到磁盘的多个临时文件进行合并Merge操作。最后形成一个内部分区的一个临时文件。

Reduce端:

1) 首先要实现数据本地化,需要将远程节点上的map输出复制到本地。
2) Merge过程,这个合并过程主要是对不同的节点上的map输出结果进行合并。
3) 不断的复制和合并之后,最终形成一个输入文件。Reduce将最终的计算结果存放在HDFS上。
针对MR2是新一代的MR的API。其主要是运行在Yarn的资源管理框架上。
5. Shuffle过程是MapReduce的重要过程,试述该过程的作用。
按照partition、key对中间结果进行排序合并,输出给reduce线程。
6. 分别描述Map端和Reduce端的shuffle过程。
7. MapReduce模型的原则是移动计算比移动数据更经济。简述什么是本地计算,为何采用本地计算。
8. MapReduce程序在运行期间启动的Map任务数据和Reduce任务数据由什么因素决定。
Hadoop为每个split创建一个map任务,split的多少决定了map任务的数目;最优的reduce任务个数取决于集群中可用的reduce任务槽(slot)的数目。
9. 为什么采用Combiner可以减少传输量。是否所有的MapReduce程序都可以采用Combiner,为什么?
对于每个分区内的所有键值对,后台线程会根据key对它们进行内存排序(Sort),排序是MapReduce的默认操作。排序结束后,还包含一个可选的合并(Combine)操作。如果用户事先没有定义Combiner函数,就不用进行合并操作。如果用户事先定义了Combiner函数,则这个时候会执行合并操作,从而减少需要溢写到磁盘的数据量。
10. MapReduce程序的输入输出都存储在HDFS中,而Map任务完成时的中间结果存在本地磁盘,这样做有何优缺点。
在某些情况下,整个任务的完成时间会缩短;这种改动大大降低了 MapReduce 的容错性;在没有错误的情况下,有时任务完成时间也会延长。
11. 举例说明WordCount工作过程。

你可能感兴趣的:(大数据,hadoop,hdfs,mapreduce,大数据,hive)