0


云上大数据

一.大数据的特征

大数据特征通常指的4V。

  1. 数据量大(Volume) 非结构化数据的超大规模和增长,导致数据集合的规模不断扩大,数据单位已从GB到TB再到PB级,甚至开始以EB和ZB来计数。
  2. 类型繁多(Variety) 大数据的类型不仅包括网络日志、音频、视频、图片、地理位置信息等结构化数据,还包括半结构化数据甚至是非结构化数据,具有异构性和多样性的特点。
  3. 价值密度低(Value) 大数据本身存在较大的潜在价值,但由于大数据的数据量过大,其价值往往呈现稀疏性的特点。虽然单位数据的价值密度在不断降低,但是数据的整体价值在提高。
  4. 速度快时效高(Velocity) 要求大数据的处理速度快,时效性高,需要实时分析而非批量式分析,数据的输入、处理和分析连贯性地处理。

二.结构化数据 非结构并且举例

1.结构化数据

  结构化的数据一般是指可以使用关系型数据库表示和存储,可以用二维表来逻辑表达实现的数据。例如:需要多少个属性,每个属性什么类型,每个属性的取值范围等等,类似下图所示,提前定义好了一个二维矩阵的元数据,包含有列名称、列的类型、列的约束等:

  可见,虽然结构化数据的存储和排列是很有规律的,这对查询和修改等操作很有帮助。但是,它的扩展性不好(比如,业务需要增加一个字段,此时就需要将已存储入库的所有数据全部更新一遍,效率极低)。

对于结构化数据来讲通常是先有结构再有数据,而对于半结构化数据来说则是先有数据再有结构。

2.非结构化数据

  非结构化数据就是没有固定结构的数据。包括所有格式的办公文档、Word、PPT、文本、图片、各类报表、图像和音频/视频信息等等。

  对非结构化的数据,一般以二进制的形式直接整体进行存储。

三.Hadoop生态圈

我们通常说到的hadoop包括两部分,一是Hadoop核心技术(或者说狭义上的hadoop),对应为apache开源社区的一个项目,主要包括三部分内容:hdfs,mapreduce,yarn。其中hdfs用来存储海量数据,mapreduce用来对海量数据进行计算,yarn是一个通用的资源调度框架(是在hadoop2.0中产生的)。

  另一部分指广义的,广义上指一个生态圈,泛指大数据技术相关的开源组件或产品,如hbase、hive、spark、pig、zookeeper、kafka、flume、phoenix、sqoop等。

四.Hadoop hdfs 架构

1 HDFS概述

1.1 简介

HDFS(Hadoop Distributed File System),它是一个文件系统

HDFS的使用场景:适合一次写入,多次读出的场景。

1.2 特点

优点:

  1. 大规模处理数据
  2. 多副本机制提高可靠性
  3. 高容错性:副本自动补全周期:6小时或集群重启

缺点:

  1. 不适合低延时数据访问,比如毫秒级的存储数据原因:结点间的数据访问涉及网络io,被带宽和距离,丢包(校验)等因素限制
  2. 无法高效的对大量小文件进行存储:1)小文件的元数据会占用nn大量内存2)存储的寻址时间>读取时间
  3. 不支持并发写入和随机修改:1)不允许多个线程同时写一个文件–>读读可并发;读写可并发;写(append)写不能并发;不可上传同一路径的同一文件2)仅支持数据append(追加),不支持文件的随机修改。随机修改:只能下载后修改再上传

五.hdfs读的流程

  1. 客户端发起读取请求:当应用程序需要读取HDFS中的数据时,客户端会向HDFS的主节点(NameNode)发送读取请求。读取请求包含要读取的文件路径和偏移量等信息。
  2. 主节点处理读取请求:主节点接收到读取请求后,首先会检查请求的合法性,包括文件是否存在、权限是否满足等。如果请求合法,主节点会返回包含数据块位置信息的元数据给客户端。
  3. 客户端获取数据块位置信息:客户端收到主节点返回的元数据后,会解析其中的数据块位置信息。数据块位置信息包括数据块所在的计算节点(DataNode)的网络地址。
  4. 客户端与数据节点建立连接:客户端根据数据块位置信息,与存储数据块的数据节点建立网络连接。
  5. 客户端发送读取请求给数据节点:客户端向数据节点发送读取请求,请求包含要读取的数据块的标识符和偏移量等信息。
  6. 数据节点读取数据块:数据节点接收到读取请求后,会根据请求的信息读取对应的数据块。数据节点会将数据块的内容读取到内存中,并通过网络发送给客户端。
  7. 客户端接收数据块:客户端接收到数据节点发送的数据块后,将数据块存储到本地的缓冲区中。
  8. 客户端处理数据块:客户端可以对接收到的数据块进行处理,如解析、计算等。
  9. 客户端继续读取:如果需要读取的数据跨越多个数据块,客户端会继续向下一个数据节点发送读取请求,重复步骤6-8,直到读取完所有需要的数据。
  10. 读取完成:当客户端读取完所有需要的数据后,读取过程结束。
标签: 大数据

本文转载自: https://blog.csdn.net/2302_78688673/article/details/136545168
版权归原作者 2302_78688673 所有, 如有侵权,请联系我们删除。

“云上大数据”的评论:

还没有评论