导图社区 大数据处理
row key的要求:Bigtable的行关键字可以是任意的字符串,但是大小不能够超过64KB。表中数据都是根据行关键字进行物理排序。
编辑于2022-05-13 23:39:47工程中的创意是新颖和独创的设想或工程问题解决方案,能产生与众不同的创意是创新型人才的特点。《工程中的创意产生过程与方法》以创意产生的过程为主线编写,包括创意产生的心理学基础、创新思维、问题发现与解决、创意产生案例等。为了适应创业的需求,《工程中的创意产生过程与方法》还加入了商业模式创新的内容。
工程中的创意是新颖和独创的设想或工程问题解决方案,能产生与众不同的创意是创新型人才的特点。《工程中的创意产生过程与方法》以创意产生的过程为主线编写,包括创意产生的心理学基础、创新思维、问题发现与解决、创意产生案例等。为了适应创业的需求,《工程中的创意产生过程与方法》还加入了商业模式创新的内容。
嵌入式 Linux操作系统前四章总结,包括嵌入式系统基础、Linux下的C语言编程、嵌入式应用程序设计、基于Linux的嵌入式软件开发。
社区模板帮助中心,点此进入>>
工程中的创意是新颖和独创的设想或工程问题解决方案,能产生与众不同的创意是创新型人才的特点。《工程中的创意产生过程与方法》以创意产生的过程为主线编写,包括创意产生的心理学基础、创新思维、问题发现与解决、创意产生案例等。为了适应创业的需求,《工程中的创意产生过程与方法》还加入了商业模式创新的内容。
工程中的创意是新颖和独创的设想或工程问题解决方案,能产生与众不同的创意是创新型人才的特点。《工程中的创意产生过程与方法》以创意产生的过程为主线编写,包括创意产生的心理学基础、创新思维、问题发现与解决、创意产生案例等。为了适应创业的需求,《工程中的创意产生过程与方法》还加入了商业模式创新的内容。
嵌入式 Linux操作系统前四章总结,包括嵌入式系统基础、Linux下的C语言编程、嵌入式应用程序设计、基于Linux的嵌入式软件开发。
大数据处理
大数据处理
分布式系统
分布式系统诞生的理由:无限膨胀的计算量需求与相对落后的单一计算机性能之间的矛盾
分布式系统的发展:从昂贵的大型计算机到廉价的微型计算机阵列
分布式文件系统
分布式文件系统(Distributed File System)是指一种物理存储资源不直接连接在本地节点上,而是通过计算机网络与分布式节点相连的文件系统
分布式文件系统的透明(transparency)特性
访问透明性(Access transparency):访问文件的方式本地文件系统相同
位置透明性(Location transparency):访问者无需关心文件储存位置
并发透明性(Concurrency transparency):并发访问时能够得到正确的修改文件状态
故障透明性(Failure transparency):系统能够自动处理故障,保证其他客户端的响应
异构透明性(Heterogeneity transparency):系统能够兼容不同构架的硬件设备
伸缩透明性(Scalability transparency):系统能够无缝的进行横纵向扩展
复制透明性(Replication transparency):文件能够自动的在节点之间复制
迁移透明性(Migration transparency):文件能够自动的在节点之间迁移。
Bigtable的储存模型
Bigtable是一个数据稀疏的、分布式的、持久的多维排序映射(Key-Value Map)。
表中的数据通过一个行关键字(Row Key,第一索引)、一个列关键字(Column Key,第二索引)以及一个时间戳(Time Stamp,第三索引)进行数据定位
映射模型(key -> value)
row key的要求:Bigtable的行关键字可以是任意的字符串,但是大小不能够超过64KB。表中数据都是根据行关键字进行物理排序,排序使用的是词典序。同一地址域的网页会被存储在表中的连续位置
Bigtable对行关键字进行倒排后在进行排序,此举便于数据压缩、提高压缩率也可以加快。
倒排:jsjxy.hbut.edu.cn -> cn.edu.hbut.jsjxy,由大到小,对于同一域名下可以进行更加快速的索引,类似邮政地址
column key的特点
将其组织成列族(Column Family),族名必须有意义,列族的限定词可以字符串,但要求是可打印的。列族同时也是 Bigtable 中访问控制(Access Control)的基本单元
列族
列关键字组成的集合叫做“列族”,列族在使用之前必须先创建,然后才能在列族中任何的限定词下存放数据,一张表的列族不能太多(最多几百个),但列族中限定词的数量则没有限制
time stamp(时间戳)的特点
主要用于版本管理。Google的很多服务比如网页检索和用户的个性化设置等都需要保存不同时间的数据,这些不同的数据版本必须通过时间戳来区分。BigTable中的时间戳是64位整型数,具体的赋值方式可以用户自行定义选定了Row Key和Column Key之后,根据Time Key定位数据版本,不同的时间戳代表着不同的数据版本
Bigtable与HBase的区别
HBase基于2006年谷歌发表的论文仿制而来
Bigtable本身不支持跨行事务,该功能依靠Chubby组建。 HBase支持跨行事务
Bigtable的列族(Column Family)是逻辑概念,比较轻量。 HBase的列族是物理隔离,数量通常不建议过多,通常小于5个
Bigtable的最小权限控制单元为Column Family。 HBase不仅支持Column Family级别权限控制,也可支持到Cell-Level
大数据编程
有边界数据(Bounded Data)
有边界数据是指一种事先保存好的静态数据。即便数据集再庞大,它也是有边界的
无边界数据(Unbounded Data)
无边界数据是指一种仍然在动态的增长、变化的数据,在进行数据处理时,尚且无法判断数据的增长何时停止
批处理
批处理是一系列相关的任务按顺序或并行的秩序关系一个接一个的迭代式执行。大部分情况下批处理的输入数据和输出数据都是有边界数据
批处理所面对的数据通常具备下面的特点
数据体量巨大但静态(有边界数据特征)。 数据精确度高。常见于长期业务积累型数据,数据质量较高。 数据的价值密度低。例如,连续不断的监控数据中,可能有用的数据仅有一两秒
流处理
流处理是指系统需要接收并处理一系列连续不断增长或更新的数据并进行处理的过程。例如,实时音视频流、实时社交数据等
流处理所面对的数据通常具备下面的特点
流处理的输入基本都是无边界数据
足够快、低延迟、以及来自各种数据源的大规模数据。流处理所需的响应时间多以毫秒或秒来进行计算。流处理快通常采用内存计算的方式来加快响应业务的能力。
当流处理架构能够以毫秒级响应内进行数据处理时可以定义为实时处理(Real-time Processing)
当流处理架构能够以分钟级响应进行数据处理时可以定义为准实时处理(Near Real-time Processing)
主题
分布式系统
分布式系统诞生的理由:无限膨胀的计算量需求与相对落后的单一计算机性能之间的矛盾
分布式系统的发展:从昂贵的大型计算机到廉价的微型计算机阵列
分布式文件系统
分布式文件系统(Distributed File System)是指一种物理存储资源不直接连接在本地节点上,而是通过计算机网络与分布式节点相连的文件系统
分布式文件系统的透明(transparency)特性
访问透明性(Access transparency):访问文件的方式本地文件系统相同
位置透明性(Location transparency):访问者无需关心文件储存位置
并发透明性(Concurrency transparency):并发访问时能够得到正确的修改文件状态
故障透明性(Failure transparency):系统能够自动处理故障,保证其他客户端的响应
异构透明性(Heterogeneity transparency):系统能够兼容不同构架的硬件设备
伸缩透明性(Scalability transparency):系统能够无缝的进行横纵向扩展
复制透明性(Replication transparency):文件能够自动的在节点之间复制
迁移透明性(Migration transparency):文件能够自动的在节点之间迁移。
Bigtable的储存模型
Bigtable是一个数据稀疏的、分布式的、持久的多维排序映射(Key-Value Map)。
表中的数据通过一个行关键字(Row Key,第一索引)、一个列关键字(Column Key,第二索引)以及一个时间戳(Time Stamp,第三索引)进行数据定位
映射模型(key -> value)
row key的要求:Bigtable的行关键字可以是任意的字符串,但是大小不能够超过64KB。表中数据都是根据行关键字进行物理排序,排序使用的是词典序。同一地址域的网页会被存储在表中的连续位置
Bigtable对行关键字进行倒排后在进行排序,此举便于数据压缩、提高压缩率也可以加快。
倒排:jsjxy.hbut.edu.cn -> cn.edu.hbut.jsjxy,由大到小,对于同一域名下可以进行更加快速的索引,类似邮政地址
column key的特点
将其组织成列族(Column Family),族名必须有意义,列族的限定词可以字符串,但要求是可打印的。列族同时也是 Bigtable 中访问控制(Access Control)的基本单元
列族
列关键字组成的集合叫做“列族”,列族在使用之前必须先创建,然后才能在列族中任何的限定词下存放数据,一张表的列族不能太多(最多几百个),但列族中限定词的数量则没有限制
time stamp(时间戳)的特点
主要用于版本管理。Google的很多服务比如网页检索和用户的个性化设置等都需要保存不同时间的数据,这些不同的数据版本必须通过时间戳来区分。BigTable中的时间戳是64位整型数,具体的赋值方式可以用户自行定义选定了Row Key和Column Key之后,根据Time Key定位数据版本,不同的时间戳代表着不同的数据版本
Bigtable与HBase的区别
HBase基于2006年谷歌发表的论文仿制而来
Bigtable本身不支持跨行事务,该功能依靠Chubby组建。 HBase支持跨行事务
Bigtable的列族(Column Family)是逻辑概念,比较轻量。 HBase的列族是物理隔离,数量通常不建议过多,通常小于5个
Bigtable的最小权限控制单元为Column Family。 HBase不仅支持Column Family级别权限控制,也可支持到Cell-Level
大数据编程
有边界数据(Bounded Data)
有边界数据是指一种事先保存好的静态数据。即便数据集再庞大,它也是有边界的
无边界数据(Unbounded Data)
无边界数据是指一种仍然在动态的增长、变化的数据,在进行数据处理时,尚且无法判断数据的增长何时停止
批处理
批处理是一系列相关的任务按顺序或并行的秩序关系一个接一个的迭代式执行。大部分情况下批处理的输入数据和输出数据都是有边界数据
批处理所面对的数据通常具备下面的特点
数据体量巨大但静态(有边界数据特征)。 数据精确度高。常见于长期业务积累型数据,数据质量较高。 数据的价值密度低。例如,连续不断的监控数据中,可能有用的数据仅有一两秒
流处理
流处理是指系统需要接收并处理一系列连续不断增长或更新的数据并进行处理的过程。例如,实时音视频流、实时社交数据等
流处理所面对的数据通常具备下面的特点
流处理的输入基本都是无边界数据
足够快、低延迟、以及来自各种数据源的大规模数据。流处理所需的响应时间多以毫秒或秒来进行计算。流处理快通常采用内存计算的方式来加快响应业务的能力。
当流处理架构能够以毫秒级响应内进行数据处理时可以定义为实时处理(Real-time Processing)
当流处理架构能够以分钟级响应进行数据处理时可以定义为准实时处理(Near Real-time Processing)
Hadoop与HDFS
Hadoop的开创
Hadoop的版本迭代与应用
Hadoop,HDFS组件
名字节点
NameNode,主(Master)服务器
名字节点上存放着“inode”(index node,索引节点),
索引节点内存放着下列信息
文件名称
文件目录结构(例如/home/fool/data)
文件属性等元数据(例如permissions,create_time,replications等)
文件对应数据块,以及数据块对应分布的“数据节点”的位置列表
第二名字节点
Secondary NameNode,名字节点的检查点节点
数据节点
DataNode,从(Slave)服务器
数据节点中的文件块备份由两个部分组成
数据本体
块数据的验证信息和块的生成标记 数据文件的大小等于块的实际长度,非固定大小
客户端
Client
客户端首先向名字节点发起请求获取包含请求文件的数据块位置,然后从距离客户端最近的数据节点读取块内容
基于TCP协议的完全连接与相互通信
名字节点与数据节点的沟通方式
名字节点通过答复心跳的方式和数据节点沟通,HDFS的运作建立在心跳的脉搏之上
优点
减轻名字节点维护命名空间的压力。 避免一个客户端的连续密集指令阻塞整个文件系统
名字节点对数据节点的操作包括
将块复制到其他节点
将块复制到其他节点
重新注册或关闭节点
发送一个即时块报告