没有合适的资源?快使用搜索试试~ 我知道了~
首页大数据学习笔记:HBase操作、问题解决与数据质量管理
大数据学习笔记:HBase操作、问题解决与数据质量管理
需积分: 5 0 下载量 67 浏览量
更新于2024-06-15
收藏 33.17MB DOCX 举报
本资源是一份关于大数据学习笔记文档,重点涵盖了Hadoop和HBase的管理和操作技巧。首先,提到在进行HBase操作时,如果遇到错误,应检查`/usr/local/hbase/logs`目录的日志文件以定位问题,强调了在分布式环境中处理系统故障时日志记录的重要性,比如HBase的HLog和Redis的AOF。此外,文档还提到了Hadoop数据倾斜问题的一种可能解决方案,即在Hive查询中添加随机前缀来均衡数据分布。 文档中涉及了SQL和Python技术在数据仓库和数据分析中的应用,特别提到了`count(*)`和`count(1)`这两个计数函数的区别,虽然表面上看似相同,但在某些场景下可能会有不同的性能表现。Spark Streaming部分指出,它使用Spark API进行流计算,允许复用批处理代码,构建交互式应用程序,而不局限于数据分析。 Kafka的消息传递保证语义在0.1版本后已支持exactlyonce语义,这意味着在生产者和消费者之间的数据传输过程中,消息的完整性和一致性得到了增强。解决方法包括生产者在遇到问题时重新发送消息,然后在消费者端通过事务机制去除重复,确保消息的唯一消费。 最后,文档分享了一种处理大数据文件的方法,通过使用hash函数将20亿个整数分到20个小文件,利用hash函数的特性保证数据的分布均匀,这是大数据处理中的一个实用技巧。 总体来说,这份学习笔记着重于大数据平台的操作、优化策略、数据质量控制以及相关的编程技术和工具使用,适合对大数据领域有深入理解或正在寻求提升的读者参考。
资源详情
资源推荐
![](https://csdnimg.cn/release/download_crawler_static/88985248/bgf.jpg)
Internal Use - Confidential
![](https://csdnimg.cn/release/download_crawler_static/88985248/bg10.jpg)
Internal Use - Confidential
重要小结:
1. 上图是 HBase 的概念视图,虽然概念视图看上去就是 HBase 是一个稀疏的表,但是这
不重要;
在物理视图中,这些空的列不会被存储成 null,而是根本就不会被存储,当请求这些空
白的单元格时,会返回 null 值。
2. Region 服务器和 HDFS 的 DataNode 相似: 用户读写数据都是经过只经过他们 (不经过
Master 服务器/NameNode).
3. HBase 采用分区存储,一个大的表会被拆分成许多的 region, 这些 region 会被分发到
不同的服务器上实现分布式存储.
4. HBase 的系统架构包括客户端、ZooKeeper 服务器、Master/Region 服务器。客户端包
含访问 HBase 的接口;ZooKeeper 服务器负责提供稳定、可靠的协同服务;Master 主
要负责表和 region 的管理工作;region 服务器负责维护分配给自己的 region, 并响应
用户的读写请求.
1. 因为 HBase 的底层:hdfs,是不能修改的(甚至连 append 都比较困难)。所以只能
在 HBase 里插入新的行,然后通过新的行以及时间戳来反映修改;同理,删除操作
也是类似。对于插入行的操作,HBase 采用了一种折中的方案:首先在内存里面建立机
![](https://csdnimg.cn/release/download_crawler_static/88985248/bg11.jpg)
Internal Use - Confidential
制,所有的数据都插入内存,到了内存满了时,才可以向硬盘写,所以在一定时间后以 块
为单位向硬盘写数据,因此“避开了 hdfs 不能修改和追加的困难”。
2. 至于 HBase 怎么删除过期数据:HBase 每隔一段时间会做重整的工作,即将小数据文
件合并成大数据文件,“删除过期数据的操作就是在重整期间做的”。
结论:“在 HBase 里,所有的修改和删除都是由 insert 操作来完成”。
可以看出,“HBase 天生是面向时间查询的”。这是很多大型社交网站的福音,非常适合这种
场景的使用。
注意,“HBase 中不能查询行键以外的列族里面的内容”。所以如果想查询的话,只能用同一
组数据做两个以上不同的表。
HBase 的数据是怎么存储在硬盘里的,每一个“元素”(单元、格子)的结构如下图:
(- 如果把所有坐标看成一个整体,视为“键”,把四维坐标对应的单元格中的数据视为“值”,
那么 HBase 也可以看成一个键值数据库。)
“HBase 列式存储”的含义:行键相同的情况下,同一列族的东西会被放在一
块。同一个列族,它里面的内容都是存放在同一个文件里面的。以此来减少 IO
的读写量。
![](https://csdnimg.cn/release/download_crawler_static/88985248/bg12.jpg)
Internal Use - Confidential
HBase 中,元素由 行键、列族:限定符、以及时间戳 来唯一确定。
“HBase 列式存储”的含义:行键相同的情况下,同一列族的东西会被放在一块。底层原因
是:在 HBase 物理模型中,每一个列族对应着 HRegion 里的一个 Store,列族上的元素在
物理上存放在同一个地方。
HBase 一般来说是稀疏的,即:一般来说每一行只在某一个列族上存在着值,而在其他的
列族上不存在值;如果不是稀疏的,HBase 的表设计得有问题。
"HBase 是一个彻底的分布式数据库",其物理模型如下(非常重要):
每一个 StoreFile 对应着一个 HFile,而 HFile 就是 hdfs 中的文件,这个文件在 hdfs 中是分
布式的 (- 每个 Store 对应了表中一个列族的存储)。
HBase 中扩展和负载均衡的基本单元称为 region,region 的本质是以行键排序 (字典序)
的连续存储空间。(可以近似地理解为一个 region 对应着一个行键 [- 行数量不断增加, 就
会导致 region 分裂出越来越多的 region] ?)
客户端则直接与 region 服务器通信,处理所有数据相关的操作。
MemStore 位于内存;StoreFile 位于硬盘 (- 每个 Store 又包含了一个 MemStore 和若干
个 StoreFile。 其中,MemStore 是在内存中的缓存,保存更新最新的数据;StoreFile 是磁
盘中的文件,这些文件都是 B 树结构的,方便快速读取)。
- StoreFile 在底层的实现方式是 HDFS 文件系统的 HFile, HFile 的数据块通常采用压
缩方式存储,可大大减少网络 I/O 和磁盘 I/O.
![](https://csdnimg.cn/release/download_crawler_static/88985248/bg13.jpg)
Internal Use - Confidential
- 用户数据首先被写入到 MemStore 和 HLog 中,当操作写入 HLog 之后,commit()
调用才会将其返回给客户端 (MemStore/HLog 和 HDFS 的 EditLog 有点相似, 都是
先写进它们 ?).
- 当用户读取数据时,Region 服务器会首先访问 MemStore 缓存,如果数据不在缓
存中,才会到磁盘上面的 StoreFile 中去寻找.
- 缓存的刷新: 系统会周期性地调用 Region.flushcache()把 MemStore 缓存里面的内
容写到磁盘的 StoreFile 中,清空缓存, 并在 HLog 文件中写入一个标记;每次缓存
刷新都会在磁盘上生成一个新的 StoreFile 文件,因此每个 Store 包含多个
StoreFile 文件. ===> 在 StoreFile 数量达到阈值时,系统会调用 Store.compact()
把多个 StoreFile 合并成一个大文件; 而当单个 StoreFile 文件大小超过一个阈值
时,又会触发文件分裂, 同时,当前父 Region 会被分裂成两个子 Region.
- HBase 采用 HLog 来保证系统发生故障时能够恢复到正确的形态 (HLog 是一种预
写式日志 [Write Ahead Log]).
- 客户端检索数据时,先在 MemStore 找,找不到再找 StoreFile.
Master 服务器和 Region 服务器:
一个基本的流程是客户端首先联系 ZooKeeper 子集群(quorum)(一个由 ZooKeeper 节点
组成的单独集群)查找行键。
即,通过一个三级的查找 (“三级寻址”),最终找到表的 Region 信息(上图):通过
ZooKeeper 记录的信息找到-ROOT-表->获得.Meta.表 Region 分布情况->/*这两处的内容
都被缓存下来了,并且都只查询一次。*/最后,查找表的 Region 分布的情况
/*三层查找 Region 地址的补充:(总结: 因为.META.表的全部 Region 都被保存在了内存
中,所以就会出现缓存过期的情况,就需要刷新更新缓存了!!)
剩余90页未读,继续阅读
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![-](https://img-home.csdnimg.cn/images/20210720083327.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://profile-avatar.csdnimg.cn/default.jpg!1)
qq_40849626
- 粉丝: 6
- 资源: 15
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![](https://csdnimg.cn/release/wenkucmsfe/public/img/voice.245cc511.png)
最新资源
- Vue实现iOS原生Picker组件:详细解析与实现思路
- Arduino蓝牙小车:参数调试与功能控制
- 百度Java面试精华:200页精选资源涵盖核心知识点
- Swift使用CoreData填坑指南:CoreData在Swift 3.0的变化
- 微距离无线充电器创新设计及其实验探索
- MTK Android平台开发全攻略:44步详解流程
- RecyclerView全面解析:替代ListView的新选择
- Android开发:自动适配中英文键盘解决方案
- Android调用WebService接口教程
- Android开发:BitmapUtil图片处理全解析与实例
- Android多线程断点续传实现详解
- PCA算法在人脸识别会议签到系统中的应用
- EventBus 3.0:Android事件总线详解与实战应用
- Android FileUtil:全面解析文件操作实用技巧与实例
- RecyclerView添加头部和尾部实战教程
- Android实现微博滑动固定顶部栏实战与优化
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035111.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)