导图社区 大数据技术基础
随着TT的飞速发展,“大智物移云的时代已经来临。”大智物移云“分别指的是大数据、人工智能、物联网、移动互联、云计算技术。现在是一个计算无处不在、软件定义一切、网络包容万物、连接随处可及、宽带永无止境、智慧点亮未来时代。云技术是指实现云计算的一些技术,包括虚拟化、分布式计算、并行计算等;云计算除了技术之外更多的指一种新的IT服务模式,可以说目前提到较多的云计算30%是指技术,70%是指模式。大数据基础相关知识点,用于帮助同学们复习相关知识点。
编辑于2024-06-03 08:41:26用于Web学习者和开发者使用,为Web前端开发的新手和有经验的开发者提供了一个清晰、全面的资源,帮助他们了解Web开发的核心技能和实践。感兴趣的小伙伴可以收藏一下~
随着TT的飞速发展,“大智物移云的时代已经来临。”大智物移云“分别指的是大数据、人工智能、物联网、移动互联、云计算技术。现在是一个计算无处不在、软件定义一切、网络包容万物、连接随处可及、宽带永无止境、智慧点亮未来时代。云技术是指实现云计算的一些技术,包括虚拟化、分布式计算、并行计算等;云计算除了技术之外更多的指一种新的IT服务模式,可以说目前提到较多的云计算30%是指技术,70%是指模式。大数据基础相关知识点,用于帮助同学们复习相关知识点。
Java面向对象编程思维导图,主要是用于期末复习自学作参考,导图精简且有助于知识点的理解与记忆。
社区模板帮助中心,点此进入>>
用于Web学习者和开发者使用,为Web前端开发的新手和有经验的开发者提供了一个清晰、全面的资源,帮助他们了解Web开发的核心技能和实践。感兴趣的小伙伴可以收藏一下~
随着TT的飞速发展,“大智物移云的时代已经来临。”大智物移云“分别指的是大数据、人工智能、物联网、移动互联、云计算技术。现在是一个计算无处不在、软件定义一切、网络包容万物、连接随处可及、宽带永无止境、智慧点亮未来时代。云技术是指实现云计算的一些技术,包括虚拟化、分布式计算、并行计算等;云计算除了技术之外更多的指一种新的IT服务模式,可以说目前提到较多的云计算30%是指技术,70%是指模式。大数据基础相关知识点,用于帮助同学们复习相关知识点。
Java面向对象编程思维导图,主要是用于期末复习自学作参考,导图精简且有助于知识点的理解与记忆。
大数据技术基础
云计算和大数据简介
云计算简介
随着IT的飞速发展,“大智物移云的时代已经来临。”大智物移云“分别指的是大数据、人工智能、物联网、移动互联、云计算技术。现在是一个计算无处不在、软件定义一切、网络包容万物、连接随处可及、宽带永无止境、智慧点亮未来时代。
云计算概念
云技术是指实现云计算的一些技术,包括虚拟化、分布式计算、并行计算等;云计算除了技术之外更多的指一种新的IT服务模式,可以说目前提到较多的云计算30%是指技术,70%是指模式。
云计算是基于互联网的相关服务的增加、使用和交互模式,,通常涉及通过互联网来提供动态易扩展且经常虚拟化的资源。云是网络、互联网的一种比喻说话。
云计算的核心是以互联网为中心,在网站上提供快速且安全的云计算服务与数据存储,让每一个使用互联网的人都可以使用网路上庞大的计算资源与数据中心
集群系统
云计算最初目标是实现对资源的管理,管理数据中心的计算资源、网络资源和存储资源
集群是将多个服务器·集中在一起,实现同一业务,可以视为一台计算机
集群的特点有可扩展性和高可用性。可扩展性是指集群中的服务节点可以动态的添加服务器,从而增强服务器处理能力
大数据简介
大数据概念
指无法在一定时间范围内用常规软件工具捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策能力、洞察发现能力和流程优化能力的海量、高增长率和多样化的信息资产。
IBM提出大数据的5V特性:volume(大量),velocity(高速),variety(多样),value(价值),varacity(真实性).
大量
数据大小决定所考虑的数据的价值和潜在的信息,数据量大,包括采集、存储和计算的量非常大。
高速
数据增长速度快,处理速度快,时效要求高。
多样
数据种类和来源多样化。
价值
合理运用大数据,以低成本创造高价值。
真实性
数据的质量,数据的准确性和可信赖性高
大数据认知从理论
第一方面
理论是认知闭经途径,也是被广泛认可和传播的途径的基线
第二方面技术
技术是大数据价值体现的手段和前进的基石
第三方面实践
实践是大数据最终价值体现
大数据中的集群技术
集群技术将多个服务器组成一个集群,将客户端负载分发到每一个服务器上,充分利用每一个服务器资源,随着应用程序负载增加,只需要将新的服务器添加到集群即可。
特点
在较低成本下能够提高性能,降低成本,提高可扩展性,增强可靠性
云计算与大数据发展趋势
云计算和大数据息息相关,云计算是大数据的基础,大数据的分析能力也能帮助云计算更好的合理利用资源。云计算和大数据未来发展趋势有以下几点
数据的资源化、
大数据已成为企业和社会关注的重要的战略资源,并已成为大家成为大家争先抢夺的新焦点,企业家必须要提前制定大数据营销战略计划,抢占市场先机。
与云计算的深度结合
大数据离不开云计算,云计算的处理能力为大数据提供了弹性可扩展的基础设备,是产生大数据的平台之一。
科学理论的突破
新兴的数据挖掘,机器学习和人工智能等相关技术的发展
数据科学的发展
数据科学已成为一门专门的学科,被越来越多的人所认知
数据安全的升级
数据安全是国家战略,就没有国家安全
数据管理已成为核心竞争力
数据管理已成为核心竞争力,直接影响财务表现
数据质量是BI成功的关键
采用自助式商业智能工具进行大数据处理的企业将会脱颖而出
数据生态系统复合化程度加强
大数据的世界是一个巨大的计算机网络
虚拟化技术
虚拟化技术概述
虚拟化技术是一种资源技术,将计算机的各种实体资源抽象出来,打破实体结构不可切割的问题,使用户可以灵活应用这些资源。
再虚拟化技术中几个非常关键的概念
物理平台
实现虚拟化技术的真实物理硬件和操作系统平台
虚拟平台
在物理平台上虚拟出来的运行不同操作系统的各种虚拟机
VMM
虚拟监视器
宿主机
真实的物理服务器,可以运行虚拟出来的虚拟机
客户机
就是从宿主机上虚拟出来的虚拟机
硬件层虚拟化
通过虚拟硬件抽象层来实现虚拟化,为客户机操作系统呈现与物理硬件相同或相近的硬件抽象层。
操作系统层虚拟化
操作系统的内核可提供多个相互隔离的用户实例。
库函数层虚拟化
通过应用级的函数库提供给应用程序一组服务,如文件操作服务、时间操作服务等
应用程序层虚拟化
即编程语言层上虚拟化,例如JVM和微软的CLR。
虚拟化技术分类
不同抽象层次的虚拟化技术
硬件层虚拟化
操作系统层虚拟化
库函数虚拟化
应用程序层虚拟化
系统级虚拟化
每台虚拟机都有虚拟硬件、虚拟操作系统,这个虚拟化层被称为虚拟机监控器。
操作系统级虚拟化
在操作系统级虚拟化技术,每个节点上只有唯一的系统内核,不虚拟任何硬件设备
常见的虚拟化软件
常见的虚拟化软件有VMware公司VMware ESX,VMware Server和VMware Workstation
分布式大数据系统Hadoop
Hadoop简介
Haddop的框架最核心的设计就是:HDFS和MapReduce
HDFS为海量数据提供了存储,HDFS具有高容错性的特点,设计用来部署在低廉的硬件设备上,能提供高吞吐量访问应用程序的数据,适合超大数据集应用程序,可以以流的形式访问文件系统的数据
MapReduce为海量的数据提供了计算。Hadoop是受欢迎的在Internet上对搜索关键词进行内容分类的的工具,可以解决伸缩需求极大的问题,Hadoop中的MapReduce采用·并行执行机制,大大提高计算效率。
Hadoop在应用过程中·,具备如下优点
Hadoop具有可靠性
按位存储处理能力非常强大。
Hadoop具有高效性
能够在节点之间动态地移动数据
Hadoop具有可伸缩性
能够处理PB级上数据
Hadoop依赖社区服务
与一体机、商用数据仓库以及QlikView等数据集市相比,它的成本比较低,是开源,因此任何人都可以使用。
Hadoop具有高可扩展性
在可用的计算机集蔟
Hadoop具有高容错性
能够自动保存数据多个副本,并且能够自动将失败任务重新分配
Hadoop自带Java语言编写的框架
运行在Linu平台上是非常理想的,Hadoop上的应用程序可以使用其它语言编写。
Hadoop最初只应用于网页搜索相关内容
Hadoop最初只应用于网页搜索相关的内容,后来发展为大数据的领先平台。
Hadoop生态系统
大数据的核心是Hadoop生态系统。Hadoop是大量工具的集合,它们协作完成特定的任务;Hadoop提供的从数据存储到数据集成、数据处理和数据分析的专用工具,人们习惯于把它们称为Hadoop生态系统
Hadoop作为一个数据处理的软件框架,包括数据采集、数据存储、数据计算、数据应用。学习Hadoop生态系统,先要搭建大数据平台
HDFS
HDFS分布式文件系统,由Google File System而来,是Hadoop的分布式文件系统,可以由许多机器组成,可以存储海量数据文件,还可以创建删除、移动或重命名文件等。
GFS
GFS是一个可扩展的分布式文件系统,用于大型分布式数据访问,并提供容错功能。
适用场景
使分布式文件系统能在廉价的机器上运行,提供了容错机制和自动负载均衡
海量存储,支持大规模流式读取,采用追加方式写操作
一次写入,多次读取,如网页存储
GFS架构
GFS架构,一个GFS集群由一个master服务器和大量的chunk服务器构成,并被许多客户访问,架构简单。
GFS client读写
GFS client读数据流程:GFS client把要读取的文件名和offset,根据chunk配置大小计算出文件的索引;
快照
容错
GFS具有高可用性,具体策略有快速恢复、chunk的复制和master的复制
HDFS文件的基本结构
Hadoop的分布式文件存储系统HDFS,完整的实现了GFS的概念模型,在某些地方做了一些简化处理。
HDFS文件的存储
从HDFS架构中,我们可以看到HDFS主要由两部分组成:NameNode和DataNode
HDFS文件的上传与下载
客户端向HDFS文件系统发送文件上传请求
NameNode检索HDFS文件系统是否存在要与上传文件相同的文件。如果存在阻止文件上传;如果不存在,允许该文件上传。
客户端上传文件
NameNode会将找出空闲DataNode的地址反馈给客户端
客户端得到地址后,会按照网络拓扑排序距离的远近依次创建管道
客户端会根据上传文件
分布式应用程序协调服务Zookeeper
Zookeeper的部署模式有三种
独立部署模式
部署在单台机器上的一个Zookeeper服务,适用于学习、了解Zookeeper基础功能。
伪分布模式
部署在一台机器上的多个zookeper服务,适用于学习、了解Zookeeper基础功能。
完全分布模式
在多台机器上部署Zookeeper服务,真正的集群模式,适合于学习、开发和测试,可投入到生产环境中使用。
Zookeeper应用场景
集群管理
节点监控
集群环境下,有很多节点,节点可能因为网络故障连接不上,可能因为机器故障无法工作,要求保证集群中的节点都能正常工作,就需要把异常节点从集群中屏蔽掉,这时使用Zookeeper的短暂节点和Watcher机制,可以很好的实现集群管理。
领导者选举
集群是多个节点协同工作,这时需要一个把控全局的领导者来接收外部请求、任务派发等。
配置管理
实际应用中,配置使应用变得灵活,但是在分布式应用下,需要在每一台机器上面修改配置,维护配置则复杂很多,基于这种场景,把配置放在Zookeeper的Znode中,分布式应用的机器到Zookeeper的Znode中读取配置到应用系统就可以。
Zookeeper还可以应用到很多场景,比如分布式锁、数据的发布和订阅、订阅、队列管理等。
Zookeeper的工作原理
Zookeeper工作原理
Zookeeper在实现这些服务时,会设计一种新的数据结构Znode,然后在这些数据结构上定义一些操作,在分布式的工作环境下,服务通过消息以网络的形式发送给分布式应用程序,分发时需要通知Watch机制。
Zookeeper文件系统
Zookeeper工作原理
Zookeeper在实现这些服务时,会设计一种新的数据结构Znode,然后在这些数据结构上定义一些操作,在分布式环境下,服务通过消息以网络的形式发送给分布式应用程序,分发时需要通知Watcher机制
Zookeeper文件系统
Zookeeper维护的是一个类似文件系统的数据结构。文件系统中的每个子目录都被称为目录节点Znode,每个子目录可以自由增加、删除Znode,Znode上允许存储数据。
节点类型
节点类型分四种
持久化目录节点
持久化顺序编号目录节点
临时目录节点
临时顺序编号目录节点
节点引用方式
节点引用方式,通过路径引用,路径必须是绝对的,必须是唯一的,通过Unicode字符串组成,并且有一些限制,字符串用来保存管理信息。
Znode结构
Zookeeper命名空间Znode,兼具文件和目录两个特点,既像文件维护数据、元信息、ACL、时间戳等数据结构,又像目录一样作为路径一部分。
数据访问
Zookeeper中每个节点存储的数据都要被原子性的操作,读操作取得与节点相关所有数据,写操作替换所有数据。
顺序节点
当创建Znode的时候,用户可以请求在Zookeeper的路径结尾增加一个递增的计数。
观察
客户端可以在节点上设置Watcher,称为监视器。
Zookeeper节点属性
Zookeeper中的时间
Zookeeper中多种记录时间形式
分布式计算框架MapReduce
分布式计算框架MapReduce是Hadoop的核心组成部分之一,底层文件存储系统为HDFS分布式文件系统,存储的是Hadoop集群上所有存储节点上的文件,MapReduce是处理大量半结构化数据集合的编程模型
MapReduce简介
Hadoop最常见的应用是Web搜索,MapReduce作为并行数据处理引擎,是一款非常好的处理引擎,是一款非常好的软件架构应用程序。
MapReduce应用程序至少包含3个部分:Map函数接受一组数据,并将其转换成为键值对列表,输入数据中的每个元素对应一个键值对
MapReduce的基本工作过程
MapReduce的基本工作过程就是分而治之,定义了两个函数:Map和Reduce。每个Map都是处理结构、大小相同的初始数据块,经过Map处理以后,会生成很多中间数据集,数据集是键值对形式。
分布式数据库HBase
分布式数据库HBase,是一个高可靠性、高性能、面向列、可伸缩性的分布式存储系统,利用HBase技术可在廉价的个人计算机上搭建起大规模结构化存储集群。Hbase是一种搭建在Hadoop上的数据库,依靠Hadoop来实现数据访问和数据可靠性。
分布式数据库HBase,是一个高可靠性、高性能、面向列、可伸缩性的分布式存储系统。
HBase简介
Hbase是Google Bigtable的开源实现,来源于Fay Chang所撰写的Google论文“Bigtable"是一个结构化的分布式存储系统。
HBase提供了很多访问接口
Native Java API最常规最高效的访问方式,适合于Hadoop MapReduce Job进行批处理Hubase表数据‘
HBase shell,Hbase的命令行工具,最简单的接口,适合HBase管理使用
Thrift Gateway,利用Thrift序列化技术,支持C++,PHP,Python等多种语言,适合于其他异构在线访问HBase表数据’
REST Gateway,支持REST风格的HTTP API访问HBase,解除语言限制
Pig,可以使用Pig Latin流式编程语言来操作HBase中的数据,将工作任务编译成MapReduce Job来处理HBase表数据,适合于做数据统计
Hive,Hive0.7.0以上支持HBase,可以使用类似SQL语言来访问HBase
HBase表视图
在HBase的系统架构中,了解到通过Zookeeper的Master Election机制保证总有一个Master在运行,主要负责table和region的管理工作。
NoSQL数据库
NoSQL数据库是非关系型数据库,关系型数据库是RDBMS.
本项目主要讲解了HBase的基本概念,Hbase的系统架构和表视图结构等内容。
数据仓库Hive
Hive是一个基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表格,并能提供完整的SQL查询功能,可以将SQL语句转换为MapReduce任务运行。
Hive简介
Hive特点
Hive是基于Hadoop的一个数据仓库工具,数据存储在Hadoop文件系统中,元数据存储在关系数据库中。
Hive查询,采用HiveQL的查询方式,将类SQL的HiveQL查询语句转换MapReduce任务在Hadoop集群中执行。
支持索引,加快数据查询
支持不同存储类型,如纯文本文件、HBase中的文件等
内置函数UDF来操作时间、字符串和其他数据挖掘工具,也支持用户自定义UDF函数来完成内置函数无法实现的操作。
采用Yarn实现资源调度
Hive提供了一系列的工具、用来进行数据提取转化加载(ETL)
Hive系统架构
Client
Zookeeper
HMaster
HRegionServer
HStore
HLog
Hive存储和压缩
数据迁移工具Sqoop
数据迁移工具Sqoop
Apache框架Hadoop是一个非常通用的分布式计算环境,主要用来处理大数据。
Sqoop简介
Sqoop是一款开源的工具,主要用于在Hadoop或Hive与传统关系型数据库MySQL
实时数据处理Spark
Spark是专门为大规模处理而设计的快速通用的计算引擎,与Hadoop类似的开源集群计算环境。
Spark简介
Spark是一种快速、通用、可扩展的大数据分析引擎。
Spark组成结构
Spark具备强大的数据处理能力
Spark运行架构
spark的数据分析依赖于Hadoop的分布式文件系统HDFS,可以进行数据计算