热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

大数据基本复习

大学的最后几门课了,DJ同学加油啊!!!(概要)第一章信息科技需要处理的三大核心问题第一次浪潮:信息处理第二次浪潮:信息传输第三次浪潮:信息爆炸数据产生方式的变革运营式系统阶段:数

(概要)第一章

  1. 信息科技需要处理的三大核心问题

    1. 第一次浪潮:信息处理

    2. 第二次浪潮:信息传输

    3. 第三次浪潮:信息爆炸



  2. 数据产生方式的变革

    1. 运营式系统阶段:数据往往伴随着一定的运营活动而产生并记录在数据库

    2. 用户原创内容阶段:Web2.0时代的到来,而其最重要的标志就是用户原创内容

    3. 感知式系统阶段:人类社会数据量的飞跃导致大数据的产生



  3. 大数据4V的概念

    1. 数据量大(信息爆炸,web2.0)

    2. 数据类型繁多

      1. 是由结构化和非结构化数据组成



    3. 处理速度快

    4. 价值密度低(一大堆数据真正有用的数据不多)



  4. 大数据对思维方式的影响(选择题)

    1. 全样而非抽样

    2. 效率而非精确(采用的方法)

    3. 相关而非因果



  5. 大数据应用四大层面的关键技术

    1. 数据采集和预处理(大量的数据是非结构化的,就需要经过清洗和转换)

    2. 数据存储和管理(比如利用分布式文件系统、NoSQL数据库)

    3. 数据处理和分析(利用分布式计算,不同数据分布到不同的结点)

    4. 数据隐私和安全



  6. 大数据四大计算模式:除图计算外详细了解

    1. 批处理计算:针对大规模数据的批量处理(Mapreduce,Spark)

    2. 流计算:针对流数据的实时计算(突然冒出的数据,比如淘宝买东西),数据的价值随时间流逝的而降低

    3. 图计算 Pregel

    4. 查询分析计算:从一堆数据找出我要的数据



  7. 云计算关键技术

    1. 虚拟化(将一台实际计算机虚拟成多台逻辑计算机)

    2. 分布式存储

    3. 分布式计算(MapReduce)

    4. 多租户(使得大量用户能够共享同一堆栈的软硬件资源)



  8. 物联网关键技术

    1. 识别和感知技术(二维码、传感器)

    2. 网络与通信技术

    3. 数据挖掘和融合技术




(hdfs)第二章、第三章

  1. 分布式文件系统的概念

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



  1. HDFS文件块

    1. 将一个文件分成若干块,分散到多个节点。

      1. 注意:HDFS无法高效的存储小文件



    2. HDFS设计的块大小要大于传统的文件系统

      1. 最小化寻址开销



    3. 优点

      1. 支持大规模文件存储,切成小块容易存放东西

      2. 简化系统设计(文件块大小是固定的,容易计算一个节点可以存储多少个文件块)

      3. 适合数据备份(可以冗余存储,提高容错性)





  2. 名称节点、数据节点的功能和工作原理

    1. 主节点

      1. 功能:存储元数据,保存在内存中

      2. 工作原理:名称节点启动,将FsImage(文件系统视图)的内容加载到内存中,然后执行EditLog文件的各个操作,使得内存元数据保持最新。名称节点正常启动,HDFS的更新操作会写入到Editlog



    2. 从节点

      1. 功能:负责数据的存储(存在磁盘)和读取





  3. 第二名称节点的意义与功能(简答题)

    1. 可以完成EditLog与FsImage的合并操作,减少EditLog文件大小,缩短名称节点重启时间

      1. 工作流程

        1. 名称节点使用新的日志

        2. 第二名称节点从名称节点获得FsImage和EditLog

        3. 合并

        4. 把检查点回传给名称节点(FsImage)

        5. 将名称节点的FsImage和EditLog替换





    2. 作为名称节点的“检查点”,保存名称节点元数据信息

      1. 名称节点发生故障时,可以用第二节点的FSImage和EditLog替换

      2. 但是,如果在上面5的时候发生错误也有数据更新,就还是会丢失数据。





  4. HDFS冗余存储的定义和意义

    1. 定义:一个数据块的多个副本会被分布到不同的数据节点上

    2. 意义:

      1. 加快数据传输速度

      2. 容易检查数据错误

      3. 保证数据的可靠性(某一个节点发生故障,也不会造成数据丢失)





  5. HDFS数据存放策略、读取策略

    1. 存放策略

      1. HDFS默认的冗余复制因子3

      2. 两份副本放在同一个机架的不同机器上

      3. 第三个放在不同机架的机器上面



    2. 读取策略

      1. 客户端可以调用HDFS提供的确定一个数据节点所属的机架ID的API

      2. 从名称节点获得数据块不同副本的存放位置

      3. 发现某个数据块副本对应的机架ID和客户端对应的机架ID相同,优先选择改副本读取

      4. 否则随机选一个



    3. HDFS三种数据错误及其恢复方法

      1. namenode出错:首先到远程挂载的网络文件系统中获取备份的数据信息,放到第二名称节点上进行恢复,并把第二名称节点作为名称节点来使用

      2. datanode出错:datanode会向namenode发送“心跳信息”,如果namenode收不到“心跳信息”,namenode不会发送任何IO请求,datanode会标记成"宕机",当副本数量小于冗余因子,就会启动数据冗余复制

      3. data出错:读取文件,数据块校验出错,客户端请求到另外一个数据节点读取文件块






(hbase)第四章

  1. Hbase生态系统



    1. 利用Hadoop MapReduce来处理Hbase的海量数据

    2. 利用Zookeeper作为协同服务,实现稳定服务和失败恢复

    3. 使用HDFS作为高可靠的底层存储



  2. Hbase的数据模型相关概念



    1. 列族是存储的基本单位

    技术图片



    1. 数据坐标的含义



      1. [行键,列族,列限定符,时间戳]



    2. 概念视图和物理视图



    3. 技术图片



    4. 技术图片



    5. 从概念视图看:Hbase由许多行组成,但是在物理视图上,它采用了基于列的存储方式





  3. Hbase的三层结构





























    1. 层次名称作用
      第一层Zookeeper文件记录了-ROOT-表的位置信息
      第二层-Root-表记录了.META.表的Region信息;通过-ROOT-表,就可以访问.META表中的数据
      第三层.META.表记录用户数据表的Region位置信息,保存了Hbase中所有的用户数据表的Region位置信息





(NoSQL)第五章

  1. NoSQL数据库的含义与特点



    1. 含义:是对非关系型数据库的统称



    2. 特点:



      1. 灵活的扩展性

      2. 灵活的数据模型

      3. 与云计算紧密融合





  2. 关系数据库在WEB 2.0时代的局限 与WEB 2.0不适用关系型数据库的原因



    1. 局限

      1. 无法满足海量数据的管理需求

      2. 无法满足数据高并发的需求

      3. 无法满足高扩展性和高可用性的需求



    2. 原因

      1. web2.0网站系统通常不要求严格的数据库事务

      2. web2.0并不要求严格的读写实时性

      3. web2.0通常不包括大量复杂的SQL查询



    3. 四大类型NoSQL数据库的定义,特点,代表性产品

      1. 键值数据库

        1. 使用特定的哈希表

        2. 键值放在内存,可以直接存,直接取

        3. Redis,Memcached



      2. 列族数据库

        1. 数据库由多个行构成,每行数据包含多个列族

        2. 可扩展性强

        3. Hbase,BigTable



      3. 文档数据库

        1. 文档数据库通过键来定义一个文档

        2. 性能好,数据结构灵活

        3. MongDB



      4. 图数据库

        1. 使用图作为数据模型来存储数据,高效存储不同顶点之间的关系

        2. 适合图结构场景

        3. Neo4J



      5. NOSQL的三大基石, 理解三大要点的准确意义和内容,要求全部掌握,并能用自己语言说明

        1. CAP

          1. C一致性:多点的数据是一致的

          2. A可用性:在确定时间返回操作结果,保证每个请求成功失败都有响应

          3. P分区容忍性:系统任意信息丢失、失败不会系统继续运行

          4. CAP理论告诉我们一个分布式系统不可能满足三个,最多只有2个

            1. CA 把所有事物相关的内容放在同一台机器上,比如传统数据库MySQL

            2. 当出现网络分区,受影响的服务需要等待数据一致,等待期间无法对外服务,比如NoSQL

            3. 允许写回的数据不一致,比如NoSQL





        2. BASE

          1. 基本可用

            1. 一个分布式系统一部分发生问题不可以用,其他部分仍然可用



          2. 软状态

            1. 有一段时间数据不同步,具有一定的滞后性



          3. 最终一致性



        3. 最终一致性

          1. 因果一致性:进程A改了数据,通知进程B.B后续访问的一定是A的最新值

          2. ”读己之所写“一致性:自己改的数据,自己读的一定是最新值

          3. 单调读一致性:进程已经看到过数据对象的某个值,那么后续访问都不会返回在那个值之前的值










(云数据库) 第六章

  1. 云数据库的概念:部署和虚拟化在云计算环境中的数据库(简答)



  2. 云数据库的特性:(选择题)



    1. 动态可扩展

    2. 高可用性

    3. 较低的使用代价

    4. 易用性

    5. 高性能

    6. 免维护

    7. 安全




(MapReduce)第七章、第八章

MapReduce基本概念与计算向数据靠拢



  1. MapReduce是一个分布式并行编程框架,将大规模数据集切分成很多独立小数据块,被多个Map任务并行处理,完成的结果由Reduce合并,写入分布式文件系统

  2. 理念:计算向数据靠拢

    1. 数据放在不同服务器,根据服务器已有的数据算一部分再传到需要的服务器上,从而减少网络开销



MapReduce工作流程与各个执行阶段工作



  1. 分而治之;将大规模数据集切分成很多独立小数据块,被多个Map任务并行处理,完成的结果由Reduce合并,写入分布式文件系统

  2. 阶段工作

    1. 使用InputFormat模块做Map前的预处理,将输入文件切分成逻辑上多个InputSplit

    2. 需要通过RR处理InputSplit的具体内容,输入给Map任务

    3. Map根据用户自定义的映射规则,输出一系列中间结果

    4. 经过Shuffle,从无序的转成

    5. 将中间结果输入到Reduce,之后输出给OutputFormat

    6. OutputFormat验证成功后,输出Reduce结果到分布式文件系统



技术图片

MapReduce的WORKCOUNT执行实例计算过程

参考视频

技术图片

MapReduce实现关系运算

主要了解自然连接


(Spark)第九章

  1. Spark与Hadoop对比,Spark高性能的原因



    1. Spark的计算模式也是属于MapReduce,但不局限于Map和Reduce操作,还提供了多种数据集操作类型

    2. Spark提供了内存计算,中间结果放在内存 中,带来更高的迭代运算效率

    3. Spark基于DAG的任务调度执行机制,优于MapReduce的迭代执行机制



  2. 大数据处理的三种类型与其适用的Spark技术栈(选择题)

























    1. 类型Spark技术栈
      复杂的批量数据处理Spark Core
      基于历史数据的交互式查询Spark SQL
      基于实时数据流的数据处理Spark Streaming




  3. RDD的设计与运行原理



    1. 概念:RDD(弹性分布式数据集)是只读的记录分区的集合

    2. 数据运算:收集(Collection)和转换(Transfomation)

    3. 依赖关系:

      1. 窄依赖:一个RDD对应一个父RDD

      2. 宽依赖:一个RDD对应多个父RDD



    4. 执行过程

      1. 创建一个RDD对象

      2. SparkContext负责计算RDD之间的依赖关系,构造DAG

      3. DAGScheduler负责把DAG图分解成多个阶段,每个阶段包含多个任务,每个任务分发给各个工作节点上的Executor去执行






(流计算)第十章

  1. 流数据的特征

    1. 数据快速持续到达

    2. 数据众多

    3. 数据量

    4. 注重数据的整体价值

    5. 数据顺序颠倒或不完整



  2. 批量计算与实时计算的含义

    1. 批量计算以“静态数据”为对象,可以在充裕的时间内对海量数据进行批量处理,计算得到有 价值的信息

    2. 实时计算最重要的一个需求是能够实时得到计算结果,一般要求响应时间为秒级



  3. 流计算的要求,Hadoop不合适流计算的原因

    1. 需求

      1. 高性能:每秒处理几万条数据

      2. 海量式:数据规模

      3. 实时性:秒级

      4. 分布式

      5. 易用性

      6. 可靠性



    2. Hadoop不合适流计算的原因

      1. MapReduce切成小的片段增加了任务处理的开销,还需要处理片段之前的关系

      2. 如果一定要使用MapReduce,需要改造以支持流式处理

      3. 降低用户程序的可伸缩性,因为用户必须使用MapReduce接口来定义流式作业





  4. 流计算处理流程

    1. 数据实时采集

      1. 数据采集系统的基本架构包括 Agent、Collector、Store



    2. 数据实时计算

    3. 实时查询服务



大数据基本复习



推荐阅读
  • 基于layUI的图片上传前预览功能的2种实现方式
    本文介绍了基于layUI的图片上传前预览功能的两种实现方式:一种是使用blob+FileReader,另一种是使用layUI自带的参数。通过选择文件后点击文件名,在页面中间弹窗内预览图片。其中,layUI自带的参数实现了图片预览功能。该功能依赖于layUI的上传模块,并使用了blob和FileReader来读取本地文件并获取图像的base64编码。点击文件名时会执行See()函数。摘要长度为169字。 ... [详细]
  • Mac OS 升级到11.2.2 Eclipse打不开了,报错Failed to create the Java Virtual Machine
    本文介绍了在Mac OS升级到11.2.2版本后,使用Eclipse打开时出现报错Failed to create the Java Virtual Machine的问题,并提供了解决方法。 ... [详细]
  • 在说Hibernate映射前,我们先来了解下对象关系映射ORM。ORM的实现思想就是将关系数据库中表的数据映射成对象,以对象的形式展现。这样开发人员就可以把对数据库的操作转化为对 ... [详细]
  • 本文介绍了在SpringBoot中集成thymeleaf前端模版的配置步骤,包括在application.properties配置文件中添加thymeleaf的配置信息,引入thymeleaf的jar包,以及创建PageController并添加index方法。 ... [详细]
  • 本文详细介绍了Linux中进程控制块PCBtask_struct结构体的结构和作用,包括进程状态、进程号、待处理信号、进程地址空间、调度标志、锁深度、基本时间片、调度策略以及内存管理信息等方面的内容。阅读本文可以更加深入地了解Linux进程管理的原理和机制。 ... [详细]
  • 1,关于死锁的理解死锁,我们可以简单的理解为是两个线程同时使用同一资源,两个线程又得不到相应的资源而造成永无相互等待的情况。 2,模拟死锁背景介绍:我们创建一个朋友 ... [详细]
  • 后台获取视图对应的字符串
    1.帮助类后台获取视图对应的字符串publicclassViewHelper{将View输出为字符串(注:不会执行对应的ac ... [详细]
  • 《数据结构》学习笔记3——串匹配算法性能评估
    本文主要讨论串匹配算法的性能评估,包括模式匹配、字符种类数量、算法复杂度等内容。通过借助C++中的头文件和库,可以实现对串的匹配操作。其中蛮力算法的复杂度为O(m*n),通过随机取出长度为m的子串作为模式P,在文本T中进行匹配,统计平均复杂度。对于成功和失败的匹配分别进行测试,分析其平均复杂度。详情请参考相关学习资源。 ... [详细]
  • 本文讨论了Alink回归预测的不完善问题,指出目前主要针对Python做案例,对其他语言支持不足。同时介绍了pom.xml文件的基本结构和使用方法,以及Maven的相关知识。最后,对Alink回归预测的未来发展提出了期待。 ... [详细]
  • 本文讨论了如何优化解决hdu 1003 java题目的动态规划方法,通过分析加法规则和最大和的性质,提出了一种优化的思路。具体方法是,当从1加到n为负时,即sum(1,n)sum(n,s),可以继续加法计算。同时,还考虑了两种特殊情况:都是负数的情况和有0的情况。最后,通过使用Scanner类来获取输入数据。 ... [详细]
  • 本文介绍了C#中数据集DataSet对象的使用及相关方法详解,包括DataSet对象的概述、与数据关系对象的互联、Rows集合和Columns集合的组成,以及DataSet对象常用的方法之一——Merge方法的使用。通过本文的阅读,读者可以了解到DataSet对象在C#中的重要性和使用方法。 ... [详细]
  • 本文介绍了OC学习笔记中的@property和@synthesize,包括属性的定义和合成的使用方法。通过示例代码详细讲解了@property和@synthesize的作用和用法。 ... [详细]
  • 知识图谱——机器大脑中的知识库
    本文介绍了知识图谱在机器大脑中的应用,以及搜索引擎在知识图谱方面的发展。以谷歌知识图谱为例,说明了知识图谱的智能化特点。通过搜索引擎用户可以获取更加智能化的答案,如搜索关键词"Marie Curie",会得到居里夫人的详细信息以及与之相关的历史人物。知识图谱的出现引起了搜索引擎行业的变革,不仅美国的微软必应,中国的百度、搜狗等搜索引擎公司也纷纷推出了自己的知识图谱。 ... [详细]
  • 本文讲述了作者通过点火测试男友的性格和承受能力,以考验婚姻问题。作者故意不安慰男友并再次点火,观察他的反应。这个行为是善意的玩人,旨在了解男友的性格和避免婚姻问题。 ... [详细]
  • 微软宣布从今年5月开始停止向PC制造商提供32位Windows 10,意味着64位版本将成为主流。尽管Windows 10系统存在一些bug,但全球已有超过10亿台活跃设备在使用。微软表示,从Windows 10 2004版本开始,所有新的Windows 10系统都将要求使用64位版本,不再发布32位版本。这一变化不会影响使用较早版本Windows 10中的32位客户系统。微软仍然致力于在这些设备上提供支持。 ... [详细]
author-avatar
金豪情圣
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有