admin管理员组

文章数量:1534214

一、

1、数据产生方式大致经历了3个阶段:运营式系统阶段、用户原创内容阶段、感知式系统阶段。 

2、大数据的特点:数据量大(volume)、数据类型繁多(variety)、处理速度快(velocity)、价值密度低(value);4V+1C (C:复杂度 complexity)。

3、云计算的特点:超大规模、虚拟化、高可靠性、通用性、高可伸缩性、按需服务、极其廉价。

4、科学研究方面经历的4种范式:实验、理论、计算、数据。

5、大数据四种计算模式:批量计(针对大规模数据的批量数据);流计算(针对流计算的实时计算);图计算(针对大规模图结构数据的处理);查询分析计算(大规模数据的存储管理和查询分析)。

6、数据总体上可以分为静态数据流数据

7、对静态数据和流数据的处理,对应着两种截然不同的计算模式:批量计算实时计算

8、Hadoop的特性:高可靠性、高效性、高扩展性、高容错性、成本低、运行在Linux平台上、支持多种编程语言。

9、Hadoop的核心子项目:HDFS和MapReduce。HDFS 2.0的新特性HDFS HAHDFS联邦。

10、YARN体系结构中的三个组件:ResourceManagerApplicationMasterNodeManager。

二、

1、分布式文件系统是一种通过网络实现文件在多台主机上进行分布式存储的文件系统。

2、名称节点名称节点也叫主节点,负责管理分布式文件系统的命名空间,负责文件和目录的创建、删除和重命名等,同时管理着数据节点和文件块的映射关系。

      数据节点:数据节点也叫从节点,负责数据的存储和读取,在存储时,有名称节点分配存储位置,然后由客户端把数据直接写入相应的数据节点。

      第二名称节点:完成EditLog合并到FsImage的过程,缩短合并的重启时间,其次作为“检查点”保存元数据的信息。

3、HDFS体系结构:HDFS采用了主从结构模型,一个HDFS集群包括一个名称节点和若干个数据节点。

4、数据的冗余存储:作为一个分布式文件系统,为了保证系统的容错性和可用性,HDFS采用了多副本方式对数据进行冗余存储,通常一个数据块的多个副本会被分不到不同的数据节点上,数据块1被分别存放到数据节点AC上,数据块2被存放在数据节点AB上。(多副本存储:名称节点保存的元数据被分割成1、2、3、4、5个数据块,并复制多个副本分别保存在不同数据节点上。

    有3个优点:

    (1)加快数据传输速度。当多个客户端需要同时访问同一个文件时,可以让各个客户端分别从不同的数据块副本中读取数据,这就大大加快了传输速度。

    (2)容易检查数据错误。HDFS的数据节点之间通过网络传输数据,采用多个副本可以很容易判断数据传输是否出错

    (3)保证数据的可靠性。即使某个数据节点出现故障失效,也不会造成数据丢失。

5、HBase采用行键、列族、列限定符和时间戳进行索引。

     HBase的功能组件:库函数、一个Master主服务器、许多个Region服务器。

     HBase的系统架构:客户端、Zookeeper服务器、Master主服务器、Region服务器。

     Zookeeper服务器:并非一台单一的机器,可能是由多台机器构成的集群来提供稳定可靠的协同服务。

6、Region服务器工作原理:1)用户读写数据过程。当用户写入数据时,被分配到相应的Region服务器去执行;用户数据首先写入到MemStore和HLog中。当用户读取数据时,Region服务器首先访问MemStore缓存,如找不到,再去磁盘上的StoreFile中寻找。2)缓存的刷新。系统周期性地把MemStore缓存里的内容刷写到磁盘的StoreFile文件中,清空缓存,并在Hlog里写入一个标记。每次刷写都生成一个新的StoreFile文件。每个Region服务器都有自己的HLog文件,每次启动检查该文件,确定最近一次执行缓存刷新之后是否发生新的写入;若发现更新,先写入MemStore再刷写到MemStore,最后删除旧的HLog文件,开始为用户提供服务。3)StoreFile的合并。每次刷写生成一个新的StoreFile,调用Storepact()把多个合并成一个。

7、NoSQL数据库特点:灵活的可扩展性、灵活的数据类型、与云计算紧密融合。

     关系数据库主要表现:无法满足海量数据的管理需求;无法满足数据高并发的需求;无法满足高可扩展性和高可用性的需求。

8、NoSQL四大类型:键值数据库、列族数据库、文档数据库、图形数据库。

NoSQL三大基石:CAP、BASE、最终一致性。

CAP原则:C:一致性(Consistency)。它是指任何一个读操作总是能够读到之前完成的写操作的结果,也就是在分布式环境中,多点的数据是一致的。A:可用性(Availability)。它是指快速获取数据,可以在确定的时间内返回操作结果。P:分区容错性(Partition tolerance)。它是指当出现网络分区的情况时,分离的系统也能够正常运行。CAP原则指这三个要素最多只能同时实现两点,不可能三者兼顾。

ACID原则:A:原子性(Atomicity)。它是指事务必须是原子工作单位,对于其数据修改,要么全都执行,要么全都不执行。C:一致性(Consistency)。它是指事务在完成时,必须使所有的数据都保持一致状态。I:隔离性(Isolation)。它是指由并发事务所做的修改必须与任何其他并发事务所做的修改隔离。D:持久性(Durability)。它是指事务完成后,它对于系统的影响是永久性的,该修改即使出现致命的系统故障也将一直保持。

BASE理论:基本可用(Basically Available)、软状态(Soft State)、

                     最终一致性(Eventually Consistent)。

9、云数据库:云计算库是部署和虚拟化在云计算环境中的数据库,是在云计算的大背景下发展起来的一种新兴的共享基础架构的方法,它极大地增强了数据库的存储能力,消除了人员、硬件、软件的重复配置,让软、硬件升级变得更加容易,同时也虚拟化了许多后端功能。云数据库具有高扩展性、高可用性、采用多租形式和支持资源有效分发等特点。

      云数据库特性:动态可扩展、高可用性、较低的使用代价、易用性、高性能、免维护、安全。

10、Spark的4个主要特点:①运行速度快②容易使用③通用性④运行模式多样

Spark的优点:Spark的计算模式也属于MapReduce,但不局限于MapReduce操作,还提供了多种数据集操纵类型,编程模型比MapReduce更灵活。②Spark提供了内存计算,中间结果直接放到内存中,带来了更高的迭代运算效率。③Spark基于DAG的任务调度执行机制,要优于MapReduce的迭代执行机制。

RDD概念RDD叫做弹性分布式数据集,是Spark中最基本的数据抽象,它代表一个不可变、可分区、里面的元素可并行计算的集合。

宽依赖、窄依赖:窄依赖表现为一个父RDD的分区对应于一个子RDD的分区,或多个父RDD的分区对应于一个子RDD的分区。宽依赖则表现为存在一个父RDD的一个分区对应一个子RDD的多个分区。

11、Storm的特点:①整合性②简易的API③可扩展性④容错性⑤可靠的消息处理⑥支持各种编程语言⑦快速部署⑧免费、开源。

       Storm的主要术语StreamsSpoutsBoltsTopologyStream Groupings

       Spark Steaming和Storm最大的区别在于,Spark Steaming无法实现毫秒级的流计算,                  而 Storm则可以实现毫秒级响应。

12、Pregel图计算模型包括有向图和顶点、顶点之间的消息传递以及Pregel的计算过程,最后给出一个简单的实例。

13、PageRank算法在Pregle和MapReduce中实现的比较:①PregelPagRank处理对象看成连通图,而MapReduce则将其看成键值对。②Pregel将计算细化到顶点,同时在顶点内控制循环迭代次数,而MapReduce则计算批量化处理,按任务进行循环迭代控制。③图算法如果用MapReduce实现,需要一系列的MapReduce的调用。从一个阶段到下一个阶段,它需要传递整个图的状态,会产生大量不必要的序列化和反序列化开销。而Pregel使用超步简化了这个过程。

14、数据可视化是指将大型数据集中的数据以图形图像形式表示,并利用数据分析和开发工具发现其中未知信息的处理过程。

15、协同过滤推荐是指推荐系统中应用最早和成为成功的技术之一。

三、

1Map和Reduce函数的关系

Mapreduce都是以<keyvalue>作为输入,按一定的映射规则转换成另一个或一批<keyvalue>进行输出。

Map:输入<k1v1>;输出:List<k2v2>;过程:1.将小数据集进一步解析成一批<key,value>对,输入map函数进行处理 2.每一个输入的<k1,v1>会输出一批<k2,v2>,<k2,v2>是计算的中间结果。

Reduce:输入<k2,List(v2)>;输出:<k3,v3>;过程:输入的中间结果<k2Listv2>中的Listv2)表示是一批属于同一个k2value。

2Map端的shuffle过程

.输入数据和执行Map任务 2.写入缓存 3.溢写(分区,排序和合并)4.文件归并

     Reduce端的shuffle过程

领取数据 2.归并数据 3.将数据输入给reduce任务

3、简述HDFS HA

  在一个典型的HA集群中,一般设置两个名称节点,其中一个名称节点处于活跃状态,另一个处于待命状态。处于活跃状态的名称节点负责对外处理所有客户端的请求,而处于待命状态的名称节点则作为备用节点,保存了足够多的系统的元数据,当名称节点出现故障时提供快速恢复力。也就是说,在HDFS HA中,处于待命状态的名称节点提供了热备份,一旦活跃名称节点出现故障,就可以立即切换到待命名称节点,不会影响系统的正常对外服务。

3简述HDFS联邦(解决了可扩展性、系统性能、隔离性三个问题)

  ①在HDFS联邦中,设计了多个相互独立的名称节点,使得HDFS的命名服务能够水平扩展,这些名称节点分别进行各自命名空间和块的管理,相互之间是联邦关系,不需要彼此协调。②HDFS联邦中的名称节点提供了命名空间和块挂办理功能。③HDFS联邦拥有多个独立的命名空间,其中,每一个命名空间管理属于自己的一组块。

4、数据存取策略:包括数据存放、数据读取和数据复制等方面,是分布式文件系统的核心内容。       (1)数据存放:HDFS采用了以机架为基础的数据存放策略,一个HDFS通常包含多个机架,不同机架之间的数据通信需要经过交换机或者路由器,同一个机架中不同机器之间的通信则不需要经过交换机和路由器。HDFS默认的冗余因子是3,每个文件块会被同事保存到3个地方,其中,2副本放在同一个机架的不同机器上,第三个副本放在不同的机架机器上。

     (2)数据读取,HDFS提供了一个API可以确定一个数据节点所属的机架ID,客户端也可以调用API获取自己所属的机架ID。当客户端读取数据时,从名称节点获得数据块不同副本的存放位置列表,列表中包含了副本所在的数据节点,可以调用API来确定客户端和这些数据节点所属的机架ID。

     (3)数据复制:采用流水线复制的策略。客户端要往HDFS中写入一个文件时,这个文件会首先被写入本地,并被切分为若干个块,每个块都向HDFS集群中的名称节点发起写请求,名称节点根据系统中各个数据节点的使用情况,选择一个数据节点列表返回给客户端,然后客户端把数据首先写入列表中的第一个数据节点,同时把列表传给第一个数据节点,第一个数据节点收到时写入本地,并向第二个数据节点发起链、连接请求,把数据和列表传给第二个数据节点,依次类推,列表中多个数据节点形成一条数据复制的流水线。最后,文件写完的时候,数据复制也同时完成。

本文标签: 林子期末原理重点数据