大数据技术(林子雨版)——期末复习知识点

2023-10-29


==> 大数据&云计算


大数据时代的三次信息化浪潮:[时间;标志;解决的问题;代表企业]

  • 1980年前后;个人计算机;信息处理;Intel,IBM……

  • 1995年前后;互联网;信息传输;谷歌,腾讯……

  • 2010年前后;大数据、云计算、物联网;信息爆炸;亚马逊,阿里云……

信息技术要解决的核心问题,如何解决:

  • ③个问题:1、信息存储;2、信息处理;3、信息传输

  • ③个解决办法:1、存储设备容量的提升;2、CPU处理能力的大幅度提升;3、网络带宽的不断增加

数据?信息?

  • 数据:构成信息的基本单位,离散的数据没有价值。

  • 信息:宏观的,(联系):信息由数据组合而成,传达给读者某个概念和方法。

数据产生的方式:

  • 运用式系统阶段 ---> 用户原创阶段 ---> 感知式系统阶段

大数据发展的③个重要阶段:

  • 1、萌芽期 [被动数据];

  • 2、成熟期 [Web2.0、Hadoop平台的盛行];

  • 3、大规模应用期 [数据驱动决策]。

大数据的特点(4V):

  • 数据量大(volume);

  • 数据类型繁多(variety);

  • 处理速度快(Velocity);

  • 价值密度低(value)。

大数据的影响:

  • 对科学研究:1、实验科学;2、理论科学;3、计算科学;4、数据密集型科学。

  • 对思维方式:1、全样而非抽样;2、效率而非精确;3、相关而非因果。

大数据关键(核心)技术:

  • 分布式存储 [HDFS、HBase]、

  • 分布式处理 [MapReduce]。

大数据计算模式:

  • 批处理计算,运用在大规模数据中。例:MapReduce、Spark

  • 流计算,运用于实时计算。例:Flink、Storm、Flume、Streams

  • 图计算,应用于图结构的大规模数据中。例:Graphx、PowerGraph

  • 查询分析计算,应用于存储管理和查询。例:Hive、Cassandra

云计算概念:代表了虚拟化技术为核心的,以低成本为目的,动态可扩展的网络应用基础设施。

云计算的③种类型:

  • 公有云[阿里];

  • 私有云[银行];

  • 混合云。

云计算的③种服务模式:

  • 基础设施即服务(IaaS)

  • 平台即服务(PaaS)

  • 软件即服务(SaaS)

云计算的④种关键技术:

  • 1、虚拟化;2、分布式存储;3、分布式计算;4、多租户。

⑦个特点:

  • 1、动态可扩展;2、高可用性;3、较低的实验成本;4、易用性;5、高性能;6、免维护;7、安全。

云数据库采用的数据模型:

  • NoSQL数据的非关系型模型 [Amazon DynamoDB的”键值“存储];

  • 关系型数据库的关系模型 [微软SQLAzure;阿里云ROS]。

UMP(Unified MySQL Platform)采用的②种资源隔离方式:

  • 多个MySQL实例,1台电脑:用Cgroup限制MySQL进程资源;

  • 多台电脑,1个MySQL实例:在Proxy服务器端限制QPS。

大数据、云计算、物联网之间的联系和区别:

  • 大数据:数据的存储、处理与分析;

  • 云计算:整合和优化各种IT资源,并以廉价的方式提供给用户;

  • 物联网:物物相连,应用创新,与”智慧“产品息息相关。

  • 联系:物联网是大数据的重要来源,大数据技术为物联网数据分析提供支撑;

云计算为大数据提供了技术支持,大数据为云计算提供了用武之地;

云计算为物联网提供了海量数据存储能力,物联网为云计算技术提供了广阔的应用空间。


==> Hadoop ——大数据的处理架构


Hadoop概念:一个开源的、可运行于大规模集群上的分布式计算平台。

③个方面的优势:

  • 基于Java语言开发;

  • 具有很好的跨平台特性;

  • 可部署于廉价的计算机集群

②个核心:1、分布式存储:HDFS、HBase、NoSQL;2、分布式处理的MapReduce计算模型。

Hadoop的⑦个特征(即Hadoop实现的目标):

  • 高可靠性;

  • 高效性;

  • 高可扩展性;

  • 高容错性;

  • 成本低;

  • 运行在Linux操作系统上;

  • 支持多语言。

Hadoop的版本:2014年JDK 1.8版本的发布,对应了Hadoop 3.0的诞生。

Hadoop生态系统:Ambari;Hive;Pig;Mahout;MapReduce;YARN;HDFS;HBase;Zookeeper;Sqoop;Flume。


==> HDFS ——分布式文件系统


概念:相对于本地文件系统,分布式文件系统是一种通过网络,实现文件在多台主机上进行分布式文件存储的系统。[ HDFS是为大规模数据存储设计的]

结构:物理上是计算机集群中的多个节点构成。

  • 主节点(名称节点):对目录进行创建、删除、重命名,管理从节点和文件块的映射。

  • 从节点(数据节点):负责数据的存储和读取。

  • 注意点:同一时间,只有一个客户端能获取到主节点上的契约。[即 1 Time;1 Client ;1 File ]

⑤大优势:

  • 1、兼容廉价的硬件设备;

  • 2、流数据读写[非随机访问];

  • 3、大数据集[TB];

  • 4、简单文件模型;

  • 5、强大的兼容性[JVM]。

④大劣势:

  • 1、不能实时访问;

  • 2、不能高效存储大量小文件;

  • 3、不能多用户写入(1次写入,多次读取);

  • 4、不能随机修改文件(只能进行文件的追加操作)。

核心概念——块:default :64 MB(在Hadoop 1.0版本中),每一块都作为独立单元存储。

好处:1、支持大规模文件存储;2、简化系统设计;3、适合数据备份。

命名空间——由主节点负责(元数据存储在内存内)

命名空间中——保存着两个数据结构(保存在磁盘中)

  • FsImage:维护文件树和其中的文件、文件夹中的元数据。

  • EditLog:记录对文件进行的所有操作。

第二名称节点的③点作用:

  • ”检查点“保存主节点中的元数据;

  • 定期合并FsImage、EditLog,减少EditLog的文件大小,缩短主节点重启时间;

  • 紧急情况下恢复主节点。

第二名称节点的工作过程:

  • 第二名称节点请求使用新的日志

  • 通过http get方式从主节点上获得 FsImage 和 EditLog ;

  • 执行 EditLog ,读 FsImage 读到内存中,合并这它们得到临时文件;

  • 通过http post方式把“检查点”回传给主节点

  • 用临时文件替换FsImage,用新的日志替换EditLog,并更新检查点时间。


==> HBase ——分布式数据库


概念:HBase针对谷歌Big Table的开源实现,是一个高可靠、高性能、面向列、可伸缩的分布式数据库,存储非结构化和半结构化的松散数据。

HBase作为非关系型模型数据库与关系型数据库(MySQL)的对比:

  • 数据类型:唯一[未经解释的字符串] ; 丰富的数据类型和存储方式[关系模式]

  • 数据操作:简单[插入、查询、删除等] ; 复杂[包括多表连接、主外关联等]

  • 存储模式:面向列 ; 行模式存储

  • 数据索引:唯一[行键] ; 多个[针对不同的列结构有多个索引]

  • 数据维护:保留旧版本[基于HDFS] ; 旧版本被覆盖

  • 可伸缩性:灵活横向发展 ; 扩展有限

数据模型总述:HBase是一个稀疏、多维度、排序的映射表。在更新时不会删除旧版本,且可对允许保留的版本数进行设置。

行键:数据按行键的字典存储,有三种方式:1、通过单个行键;2、一个行键的区间;3、全表扫描。

索引的四维坐标:行键、列族、列限定符、时间戳。

  • 概念视图:将表视为一个稀疏、多维的映射关系。

  • 物理视图:基于列的存储方式。

面向列存储③大优点:

  • 减低输入/输出的开销;

  • 支持大量并发用户查询(处理速度快);

  • 有高的数据压缩比。

功能组件③大核心:1、库函数;2、Master服务器;3、Region服务器。

三层寻址:Zookeeper文件 [记录ROOT表位置] ---> ROOT表 [只能有一个Region] ---> META表 [保存了所有数据表的Region位置]。

如果缓存失败怎么办? 要再次经历上述的“三级寻址”过程,重新获得最新的Region位置信息,去访问数据,并用最新的Region位置信息替换缓存中失败的信息。


==> NoSQL ——非关系数据库的统称


NoSQL的③大特点:

  • 灵活的可扩展性;

  • 灵活的数据模型;

  • 与云计算的紧密融合。

优势:可扩展强,支持超大规模数据存储;数据模型灵活,可支持Web2.0应用。

劣势:缺乏数学理论基础;一般不能实现事务强一致性(ACID四性);一般不能保证数据完整性;技术尚不成熟,维护困难。

应用场景:二者都有自己的目标用户群体和市场空间,都不可被替代。

  • 关系型数据库:应用于银行、超市、电信等需要保证事务强一致性场景,且可以进行复杂的查询分析。

  • NoSQL数据库:应用于互联网企业、传统企业的非关键业务(数据分析),对数据量和并发读写要求较高的场景。

  • 混合架构:典型例子——亚马逊。购物车的临时数据,用键值存储;订单信息存储在关系型数据库中;大量的历史订单则存在MongoDB的文件数据库。

非关系型数据库的④大类型:

  • 键值数据库[Redis]:key用来定位Value,所以不能直接对Value进行索引和查询;

  • 列族数据库[HBase、Big Table];

  • 文档数据库[MongoDB];

  • 图数据库[Neo4J]。

三大基石(CAP):C: consistency 一致性 + A: availability可用性 + P: tolerance of Network Partition分区容忍性。

  • CA: 传统的关系型数据库,可扩展性差(数据都放在一台机子上)。[MySQL]

  • CP: Neo4J、HBase等NoSQL数据库,在等待期间无法对外提供服务。[MongoDB、HBase]

  • AP: 网站设计运用的数据库不需要所有数据被同时读到。[Cassandra]

ACID: atomicity 原子性 + consistency 一致性 + isolation 隔离性 + durability 持久性

BASE

  • 基本可用性(即分区容忍性) ;

  • 软状态 ;

  • 最终一致性(是弱一致性的特例,也是BASE的最终目的,不需要每时每刻都保持一致,最终数据一致即可)。

不一致性窗口:从OP操作完成到后续访问可以最终读取OP写入的最新值,中间的时间间隔。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

大数据技术(林子雨版)——期末复习知识点 的相关文章

  • 在 Zookeeper 中创建路径的最有效方法,其中路径的根元素可能存在也可能不存在?

    想象一条路径 root child1 child2 child3 想象一下 在动物园管理员中 可能存在其中的一部分 比如 root child1 Zookeeper 中没有等效的 mkdir p 此外 如果任何一个操作失败 ZooKeepe
  • Amazon MapReduce 日志分析最佳实践

    我正在解析 Apache Nginx Darwin 视频流服务器 生成的访问日志 并按日期 引用者 用户代理聚合每个交付文件的统计信息 每小时都会生成大量日志 而且这个数字在不久的将来可能会急剧增加 因此通过 Amazon Elastic
  • 使用 python 从 HDFS 获取文件名列表

    这里是 Hadoop 菜鸟 我搜索了一些有关 hadoop 和 python 入门的教程 但没有取得太大成功 我还不需要使用映射器和缩减器进行任何工作 但这更多是一个访问问题 作为Hadoop集群的一部分 HDFS 上有一堆 dat 文件
  • 如何使用新的 Hadoop API 来使用 MultipleTextOutputFormat?

    我想编写多个输出文件 如何使用 Job 而不是 JobConf 来执行此操作 创建基于密钥的输出文件名的简单方法 input data type key value cupertino apple sunnyvale banana cupe
  • Hive(查找连续 n 列中的最小值)

    我在 Hive 中有一个表 有 5 列 即电子邮件 a first date b first date c first date d first date a b c d 是用户可以执行的 4 个不同操作 上表中的 4 列表示用户执行第一个
  • Curl下载到HDFS

    我有这个代码 curl o fileName csv url xargs hdfs dfs moveFromLocal 1 somePath 当我执行此代码时 curl 将请求中的值放入 fileName csv 中 该文件将移动到 HDF
  • Hadoop 安全模式恢复 - 花费太长时间!

    我有一个包含 18 个数据节点的 Hadoop 集群 我在两个多小时前重新启动了名称节点 并且名称节点仍处于安全模式 我一直在寻找为什么这可能花费太长时间 但找不到好的答案 发帖在这里 Hadoop 安全模式恢复 花费大量时间 https
  • Hive查询快速查找表大小(行数)

    是否有 Hive 查询可以快速查找表大小 即行数 而无需启动耗时的 MapReduce 作业 这就是为什么我想避免COUNT I tried DESCRIBE EXTENDED 但这产生了numRows 0这显然是不正确的 对新手问题表示歉
  • 猪如何过滤不同的对(对)

    我是猪的新手 我有一个 Pig 脚本 它在两个元素之间生成制表符分隔的对 每行一对 例如 John Paul Tom Nik Mark Bill Tom Nik Paul John 我需要过滤掉重复的组合 如果我使用 DISTINCT 我会
  • Namenode高可用客户端请求

    谁能告诉我 如果我使用java应用程序请求一些文件上传 下载操作到带有Namenode HA设置的HDFS 这个请求首先去哪里 我的意思是客户端如何知道哪个名称节点处于活动状态 如果您提供一些工作流程类型图或详细解释请求步骤 从开始到结束
  • 如何将Hive数据表迁移到MySql?

    我想知道如何将日期从 Hive 转移到 MySQL 我看过有关如何将 Hive 数据移动到 Amazon DynamoDB 的示例 但没有看到有关如何将 Hive 数据移动到 MySQL 等 RDBMS 的示例 这是我在 DynamoDB
  • hadoop中reducer的数量

    我正在学习hadoop 我发现减速器的数量非常令人困惑 1 reducer的数量与partition的数量相同 2 reducer 的数量是 0 95 或 1 75 乘以 节点数 每个节点的最大容器数 3 减速机数量设定为mapred re
  • 如何通过sparkSession向worker提交多个jar?

    我使用的是火花2 2 0 下面是我在 Spark 上使用的 java 代码片段 SparkSession spark SparkSession builder appName MySQL Connection master spark ip
  • Hive - 线程安全的自动递增序列号生成

    我遇到一种情况 需要将记录插入到特定的 Hive 表中 其中一列需要是自动递增的序列号 即在任何时间点都必须严格遵循 max value 1 规则 记录从许多并行的 Hive 作业插入到这个特定的表中 这些作业每天 每周 每月批量运行 现在
  • 将 CSV 转换为序列文件

    我有一个 CSV 文件 我想将其转换为 SequenceFile 我最终将使用它来创建 NamedVectors 以在聚类作业中使用 我一直在使用 seqdirectory 命令尝试创建 SequenceFile 然后使用 nv 选项将该输
  • 运行时异常:java.lang.NoSuchMethodException:tfidf$Reduce.()

    如何解决这个问题 tfidf是我的主类 为什么运行jar文件后会出现这个错误 java lang RuntimeException java lang NoSuchMethodException tfidf Reduce
  • InvalidRequestException(为什么:empid 如果包含 Equal,则不能被多个关系限制)

    这是关于我从 Apache Spark 查询 Cassandra 时遇到的问题 Spark 的正常查询工作正常 没有任何问题 但是当我使用关键条件进行查询时 出现以下错误 最初 我尝试查询复合键列族 它也给出了与下面相同的问题 由以下原因引
  • Sqoop - 绑定到 YARN 队列

    因此 使用 MapReduce v2 您可以使用绑定到某些 YARN 队列来管理资源和优先级 基本上通过使用 hadoop jar xyz jar D mapreduce job queuename QUEUE1 input output
  • 更改 Spark Streaming 中的输出文件名

    我正在运行一个 Spark 作业 就逻辑而言 它的性能非常好 但是 当我使用 saveAsTextFile 将文件保存在 s3 存储桶中时 输出文件的名称格式为 part 00000 part 00001 等 有没有办法更改输出文件名 谢谢
  • hive - 在值范围之间将一行拆分为多行

    我在下面有一张表 想按从开始列到结束列的范围拆分行 即 id 和 value 应该对开始和结束之间的每个值重复 包括两者 id value start end 1 5 1 4 2 8 5 9 所需输出 id value current

随机推荐

  • nuxt打包后文件过大的优化

    在使用nuxt js来做项目的时候 遇到了加载缓慢的问题 解决思路如下 1 大文件拆分 2 文件压缩 大文件拆分 通过nuxt build analyze或者nuxt build a命令来启用 在package json中 添加 analy
  • TensorFlow Bug记录 CUBLAS_STATUS_NOT_INITIALIZED

    昨天刚装好也能运行的tensorflow突然之间报错 tensorflow stream executor cuda cuda blas cc 366 failed to create cublas handle CUBLAS STATUS
  • 虚拟服务器和vdi,VDI虚拟化平台搭建 01--VDI基本环境准备

    说明 此文章仅用于学习研究 不做任何商业用途 VDI 虚拟桌面基础架构 Virtual Desktop Infrastructure VDI基本软件硬件版本 服务器系统版本 exsi 6 7 vcenter版本 6 7 Vmware Hor
  • Typescript 基础类型 —— 布尔值 Boolean

    在JavaScript和TypeScript里布尔值都叫做boolean 表示逻辑值 true 和 false 关键字 boolean 实例 let isRes boolean false 编译结果 var isRes false 试图给
  • 【读懂Autosar代码】-1-概述

    点击返回 Autosar从入门到精通 实战篇 总目录 案例背景 共5页精讲 聊一聊这些封装中关键字宏的命名是如何构成的 FUNC FUNC P2CONST FUNC P2VAR P2VAR P2CONST CONSTP2VAR CONSTP
  • 论文期刊一般的审稿流程

    一 经常在网上看到某某人在问什么期刊的审稿周期 或者是投稿已多久怎么还没消息之类的帖子 作为经常帮国内外期刊审稿的人 对编辑部相对有所了解 因此特意发帖告知 供大家交流 论文审稿是个复杂的过程 并不是像大部分作者想象的那样送个一个专家看个几
  • String 判断字符串是否包含某个字符

    contains 判断 s 是否包含 ss 包含返回true 不包含返回false String s 你好 String ss 你 boolean ii s contains ss if ii true System out println
  • STM32调试特定函数出现Cannot access Memory

    MDK5出现Cannot access Memory 1 问题 2 原因 3 总结 1 问题 程序每次执行到了特定函数的位置时 keil里面全速运行 一直出现Cannot access Memory 再后面就是进入硬件错误中断了 执行到这个
  • C#使用COM+实现事务控制,操作多个数据库

    其中大部分内容参考自http blog itpub net 10752043 viewspace 991224 上面的是sqlserver的操作方式 因为我实际项目是用的oracle 就拿oracle试了一下 为了自己记录或者方便其他人 其
  • Linux下如何配置环境变量

    基础知识 首先 我们来了解一下什么是 环境变量 环境变量 通俗讲是操作系统或程序执行时候默认设定的参数 比如 PATH 路径变量 当要执行某个命令或程序的时候默认寻找的路径 然后 我们再来了解一下环境变量都有哪些类型 环境变量的分类 根据变
  • C++的类型

    C 的类型 按照标准 C 只有两种类型 基本类型和复合类型 但是里面细节多导致彻底理解它们有难度 所以这里只是简单总结一下 基本类型 基本类型分成算术类型和两种特殊的类型 算术类型 算术类型分成整数类型和浮点数类型两种 整数类型 以下都是整
  • 在springboot中使用Sse(Server-sent Events)Web实时通信技术-服务器发送事件SseEmitter

    最近在练习项目时需要用到消息实时推送技术 了解到有两种实时通信技术供我选择 SSE和WebSocket 详细了解后得知SSE是基于http协议 无需导入其他依赖 特点是服务端主动给客户端推送消息 单向 适合浏览器端只做数据接收 而webso
  • 华为OD机试真题-路灯照明问题-2023年OD统一考试(B卷)

    题目描述 在一条笔直的公路上安装了N个路灯 从位置0开始安装 路灯之间间距固定为100米 每个路灯都有自己的照明半径 请计算第一个路灯和最后一个路灯之间 无法照明的区间的长度和 输入描述 第一行为一个数N 表示路灯个数 1 lt N lt
  • Pysot训练自己的数据集

    数据集预处理操作 Pysot训练自己数据集前的预处理 Vesper0412的博客 CSDN博客 Pysot源码地址 https github com STVIR pysot 1 linux系统激活环境 conda activate pyto
  • 机器学习课程学习阶段总结

    机器学习课程学习阶段总结 线性回归 逻辑回归 逻辑回归 是一种分类算法 和之前的线性回归不是同一类问题 但是对于处理问题上有相同的思想 对于线性回归问题 有较容易理解的思路 首先指定一个形式确定的 h x Tx h theta x thet
  • 笔记本连接RK61键机械键盘非损坏的win和alt对调,数字键失灵以及特殊字母键失灵恢复

    1 问题描述 在打游戏或者码字的时候 无意中按下了键盘模式切换按键 导致了键盘的假性失灵状态 具体表现为 1 win和alt键功能对调 win按键无反应 alt键出现windows窗口 虽然不影响使用 但是很别扭 2 数字键失灵 键盘打不出
  • 网络安全有哪些经典笑话

    今天程序员同事发了一个链接给我 点开是一个调侃程序员有哪些经典笑话的帖子 给我看乐了 诸如 老婆给当程序员的老公打电话 下班顺路买一斤包子带回来 如果看到卖西瓜的 就买一个 当晚 程序员老公手捧一个包子进了家门 老婆怒道 你怎么就买了一个包
  • Android BLE 快速开发示例

    目录 概述 1 FastBle的使用 2 BLE开发实践方面的理解 3 FastBle源码解析 概述 思来想去 还是写这篇博文 记录一下 当时学习BLE的一些心得 重捡回当前Android知识 想深入了解蓝牙通讯知识 这个案例是非常不错的选
  • 毕业设计 - 基于单片机的测谎仪

    文章目录 1 简介 2 实现原理 3 主要器件 4 实现效果 正常情况 未说谎 异常情况 说谎了 5 部分实现代码 6 最后 1 简介 Hi 大家好 学长今天向大家介绍一个有趣的单片项目 基于单片机的测谎仪 大家可用于 课程设计 或 毕业设
  • 大数据技术(林子雨版)——期末复习知识点

    gt 大数据 云计算 大数据时代的三次信息化浪潮 时间 标志 解决的问题 代表企业 1980年前后 个人计算机 信息处理 Intel IBM 1995年前后 互联网 信息传输 谷歌 腾讯 2010年前后 大数据 云计算 物联网 信息爆炸 亚