大数据技术原理与应用——第4章


参考:大数据技术原理与应用(第3版)林子雨 编著

BigTable

BigTable是一个分布式存储系统。

BigTable解决谷歌公司内部大规模网页搜索问题,存储其大量网页。

BigTable的诞生:

1.主要满足互联网搜索引擎的基本需求

2.用于网页搜索

3.用于谷歌非常多的项目里面,包括搜索、地图、财经、打印

4.还用于一些社交网站、视频共享网站、博客网站等

BigTable受到广泛关注的原因:

1.具有非常好的性能(可以支持PB级别的数据)

2.具有非常好的可扩展性(用集群去存储几千台服务器完成分布式存储)

BigTable特性:

1.支持大规模海量数据
2.分布式并发数据处理效率极高
3.易于扩展、支持动态伸缩
4.适用于廉价设备
5.适合读操作不适合写操作

HBase简介

HBase是谷歌BigTable的开源实现

Hadoop生态系统中HBase与其他部分的关系

  • HBase利用Hadoop MapReduce来处理HBase中的海量数据,实现高性能计算
  • 利用ZooKeeper作为协同服务,实现稳定服务和失败恢复
  • 使用HDFS作为高可靠的底层存储,利用廉价集群提供海量数据存储能力
  • Sqoop提供了高效、便捷的关系数据库管理系统数据导入功能
  • Pig和Hive为HBase提供了高层语言支持

HBase和BigTable的底层技术对应关系

BigTableHBase
文件存储系统GFSHDFS
海量数据处理MapReduceHadoop MapReduce
协同服务管理ChubbyZookeeper

已有关系数据库、Hadoop(HDFS和MapReduce),为什么还要去设计HBase?

1.虽然已有HDFS和MapReduce,但Hadoop主要解决大规模数据离线批量处理,Hadoop是没办法满足大数据实时处理需求。
2.随着这些年数据大规模爆炸式增长,传统关系数据库的扩展能力有限
3.两个缺陷:不便利、效率低

HBase与传统关系数据库的对比分析

  • 数据类型:关系数据库采用关系模型,具有丰富数据类型和存储方式。HBase采用更简单的数据模型,把数据存储为未经解释的字符串
  • 数据操作:HBase避免复杂的表与表之间的关系,采用单表主键查询,无法实现像关系数据库中那样的表与表之间的连接操作
  • 存储模式:关系数据库基于行模式存储,HBase基于列存储
  • 数据索引:关系数据库通常多个索引。HBase只有一个索引——行键
  • 数据维护:关系数据库会替换旧值,更新后旧值不存在。HBase不会删除数据的旧版本,生成一个新版本后,旧版本仍然保留。
  • 可伸缩性:关系数据库难实现横向扩展,纵向扩展空间也有限。HBase实现灵活的横向扩展,能轻易通过在集群中增加或减少硬件数量来实现性能的伸缩。

HBase访问接口

HBase访问接口类型、特点、使用场合

HBase数据模型

​HBase是一个稀疏、多维度、排序的映射表。采用行键、列族、列限定符、时间戳进行索引。

数据模型的相关概念

1.表:HBase采用表来组织数据,由行和列组成,列划分为若干个列族。
2.行键:每个行有行键来标识。行键可以是任意字符串。经常一起读取的行存储在一起。
访问表中的行的方式(3种):
(1)通过单个行键访问
(2)通过一个行键的区间来访问
(3)全表扫描
3.列族:一个HBase表被分组成许多列族集合,是基本的访问控制单元。支持动态扩展、保留旧版本。
4.列限定符:列族中数据通过列限定符(或列)来定位,不需要事先定义。
5.单元格:每个单元格中可以保存一个数据的多个版本,每个版本对应一个时间戳。
6.时间戳:每个单元格都保存着同一份数据的多个版本,这些版本采用时间戳进行索引。

数据坐标

HBase使用四维坐标来定位表中的数据。四维坐标:[“行键”,“列族”,“列限定符”,“时间戳”]
HBase可以看作一个键值数据库。

列式存储——>按一个列去存储——>可以带来很高的数据压缩率

HBase的实现原理

HBase的功能组件

HBase的实现包括三个主要的功能组件:
库函数:一般用于连接每个客户端
Master服务器:充当管家的作用
Region服务器:负责存储不同的Region

Master服务器的功能:
1.对分区信息进行维护和管理
2.维护一个Region服务器列表
3.检测整个集群当中有哪些Region服务器在工作
4.负责对Region进行分配
5.负载平衡

### 大数据技术原理应用课程设计 #### 课程概述 大数据技术原理应用是一门旨在帮助学生理解并掌握处理大规模数据集所需的技术和工具的学科。这不仅涵盖了ETL过程中的数据抽取、转换和加载,还包括如何利用这些经过加工的数据来进行有效的可视化展示[^1]。 #### 学习目标 - **理论知识**:深入理解大数据生态系统的核心组件及其工作方式; - **实践能力**:能够独立规划并实施完整的基于云计算环境下的大型数据分析项目。 #### 主要内容安排 ##### 第一部分:基础知识入门 (第1周至第4周) 介绍计算机网络基础概念以及分布式计算架构的基础理论;讲解Hadoop生态系统的构成要素——MapReduce编程模型、HDFS文件系统等核心功能特点。 ##### 第二部分:高级主题探讨(第5周至第8周) 重点讨论Spark Streaming流式处理机制其他实时分析引擎对比优势所在;探索图数据库的应用场景及其实现方法论。 ##### 第三部分:案例研究实战演练(第9周至第12周) 选取典型行业应用场景作为切入点,引导学员参全流程模拟练习,包括但不限于社交媒体情感倾向监测、金融风险预警建模等领域内的热点话题。 ##### 第四部分:前沿趋势展望(第13周至第16周) 关注当前热门的人工智能算法集成方案对于传统批处理模式带来的变革影响;分享国内外知名企业在推动技术创新方面的成功经验故事。 #### 实践环节设置 为了更好地支持上述各阶段的教学活动开展,特别强调加强实验课比重,鼓励跨学科合作交流,促进理论联系实际解决问题的能力养成。例如,在学习NoSQL数据库时可以结合具体的业务需求来构建非关系型存储解决方案[^4]。 #### 考核评价标准 采用多元化评估体系衡量每位同学在整个学期期间的表现情况,综合考虑平时作业质量、小组课题汇报成果和个人期末考试得分等因素决定最终成绩等级评定结果。 ```python def evaluate_student_performance(homework_score, project_presentation, final_exam): total_score = homework_score * 0.3 + project_presentation * 0.3 + final_exam * 0.4 if total_score >= 90: return "A" elif total_score >= 80 and total_score < 90: return "B" elif total_score >= 70 and total_score < 80: return "C" else: return "D/F" ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

L__iiiii

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值