一、大数据的特征
1、数量大
大数据的特点之一就是“数量大”,数据量已经达到TB甚至PB级别,无法通过人工处理。例如,淘宝网平常每天的商品交易数据约20TB(1TB=1024GB),全球最大设计平台Facebook的用户,每天产生的日志数据超过了300TB。大数据的数量庞大,包含着大量的规律、知识、模式,对政府决策、生活有巨大的影响。
2、多样性
大数据广泛的数据来源,决定了大数据形式的多样性。大数据大体上可以分为三类,分别是结构化数据、非结构化的数据、半结构化数据。结构化数的特点是数据间因果关系强,比如息管理系统数据、医疗系统数据等;非结构化的数据的特点是数据间没有因果关系,比如音频、图片、视频等;半结构化数据的特点是数据间的因果关系弱。比如网页数据、邮件记录等。
3、高速性
大数据的交换和传播是通过互联网、云计算等方式实现的,远比传统媒介的信息交换和传播速度快捷。大数据与海量数据的重要区别,除了大数据的数据规模更大以外,大数据对处理数据的响应速度有更严格的要求。实时分析而非批量分析,数据输入、处理与丢弃立刻见效,几乎无延迟。数据的增长速度和处理速度是大数据高速性的重要体现。
4、价值性
价值性是大数据的核心特点。现实中大量的数据是无效或者低价值的,大数据最大的价值在于通过从大量不相关的各种类型的数据中,挖掘出对未来趋势与模式预测分析有价值的数据。比如,某宝电商平台每天产生的大量交易数据(大数据),通过一些算法可以分析出具有某些特征的人喜欢什么类型的商品,然后根据客户的特征,给其推荐TA喜欢的商品。
二、结构数据化与非结构数据化
1. 概述不同
结构化数据是指按照固定格式和规则组织的数据,例如表格、数据库等。非结构化数据则是指没有固定格式和规则的数据,例如文本、音频和视频等。
2. 含义不同
结构化数据是按照固定格式和规则组织的数据。例如,电子表格中的数据就是结构化数据,因为它们按照一定的列和行组织,并且每个单元格都有自己的数据类型和格式。
非结构化数据是没有固定格式和规则的数据。例如,一篇文章中的文本就是非结构化数据,因为它没有固定的格式和规则,也没有明确的数据类型和格式。
3.. 组织方式和数据类型不同
结构化数据按照固定格式和规则组织,具有明确的数据类型和格式,而非结构化数据没有固定的格式和规则,也没有明确的数据类型和格式。此外,结构化数据可以方便地进行处理和分析,而非结构化数据则需要进行特殊的处理和分析。
三、Hadoop生态圈
1、基本概念
Hadoop生态圈是由一系列基于Hadoop开发的相关工具、库、应用程序、平台和服务组成的生态系统。它们都是用于大数据处理、分析和存储的技术,旨在解决大规模数据处理问题。
2、主要组成部分
1,Hadoop分布式文件系统(HDFS):HDFS是一个分布式文件系统,可以存储大量的数据。它将数据划分成 块,存储在多个节点上,并提供高可靠性和容错性,以确保数据不会丢失。
例如,如果一个节点失败,HDFS可以自动将其数据复制到其他节点,从而保证数据的可靠性。
2,MapReduce:MapReduce是一个分布式计算模型,用于处理大规模数据集。它将数据划分成小块,然后在分布式计算集群上并行处理这些块。MapReduce的核心是“map”和“reduce”两个阶段。在“map”阶段,将数据分解成键值对并进行处理;在“reduce”阶段,对中间结果进行合并和汇总。
例如,可以使用MapReduce对Web日志文件进行分析,以了解用户的访问模式和行为。
3,YARN:YARN是一个资源管理器,用于管理Hadoop集群中的计算资源。它可以分配计算资源,管理应用程序,并提供集群级别的安全性和控制。
例如,YARN可以分配计算资源,让Spark应用程序在集群上运行。
4,Hive:Hive是一个数据仓库工具,可以将结构化数据映射到HDFS上。它提供了类似SQL的查询语言,可以进行数据分析和报表生成。
例如,可以使用Hive查询电子商务网站的订单数据,并生成报表。
5,Pig:Pig是一个数据分析工具,可以处理非结构化数据。它提供了一个脚本语言,可以将脚本转换为MapReduce任务。
例如,可以使用Pig处理社交媒体上的文本数据,并提取有用的信息。
6,HBase:HBase是一个分布式的非关系型数据库,可以处理非常大的数据集。它提供了高度可伸缩性和容错性,可以存储海量的数据。
例如,可以使用HBase存储物联网传感器数据,并对数据进行分析。
7,ZooKeeper:ZooKeeper是一个分布式的协调服务,可以协调集群中各个节点之间的交互。它可以确保节点之间的同步和一致性,提供可靠的服务。
例如,在Hadoop集群中,ZooKeeper可以用于管理HDFS的名称节点。
8,Spark:Spark是一个基于内存的计算引擎,用于处理大规模数据集。它提供了比MapReduce更快的处理速度,并支持实时数据处理和机器学习。
例如,可以使用Spark对电商网站的销售数据进行实时分析,并对用户进行个性化推荐。
四、Hadoop —— hdfs架构
HDFS的系统角色一共有四种:NameNode(主节点)、SecondaryNameNode(备用节点)、DataNode(从节点)、Client(HDFS客户端)。
NameNode(主节点):里面主要负责管理文件系统的命名空间,维护着整个文件系统的目录树以及目录树中所有的子目录和文件。
SecondaryNameNode(备用节点):NameNode的备用节点,也成为从元数据节点,主要用于定期合并FsImage和Edit Log。SecondaryNameNode的主要作用是辅助NameNode合并FsImage和Edit Log。
DataNode (从节点):也称为数据节点,上面也提到过,一份数据文件在放入hdfs的时候,它会被分成多个数据块(block),而这些数据块就会被存储到多个DataNode节点上的特定位置,块的名称为blk_blkID。
下面是它的架构图:
五、HDFS读的流程
1、客户端通过分布式文件系统向NameNode请求下载文件,请求包括要读取的路径和偏移量。
2、NameNode通过查询元数据,找到文件所在的DataNode地址,响应文件是否存在,并返回目标文件的元数据。
3、客户端通过就近原则选一台DataNode服务器请求读取数据。
4、DataNode开始传输给客户端,从磁盘里读取数据,以packet为单位作校验。
5、客户端以Packet为单位接收,先在本地缓存,然后合并写入目标文件。