- 博客(27)
- 收藏
- 关注
原创 2021SC@SDUSC hbase代码分析(十四)BulkLoad功能
2021SC@SDUSC hbase源码分析(十四)BulkLoad功能2021SC@SDUSC 2021SC@SDUSC2021SC@SDUSC 2021SC@SDUSC目录2021SC@SDUSC hbase源码分析(十四)BulkLoad功能BulkLoad功能BulkLoad核心流程HFile生成阶段。HFile导入阶段。核心流程到此结束BulkLoad功能在实际生产环境中,有这样一种场景:用户数据位于HDFS中,业务需要定期将这部分海量数据导入HBase系统,以执行随机查询更新操作。这种
2021-12-25 10:40:20
1129
原创 2021SC@SDUSC hbase代码分析(十三)HFile分析(5)
2021SC@SDUSC hbase源码分析(十三)HFile分析(五)2021SC@SDUSC 2021SC@SDUSC2021SC@SDUSC 2021SC@SDUSC目录2021SC@SDUSC hbase源码分析(十三)HFile分析(五)索引相关BlockHFile索引简介索引结构1. Root Index Block简介源码分析2. NonRoot Index Block简介相关分析索引相关BlockHFile索引简介根据索引层级的不同,HFile中索引结构分为两种:single-l
2021-12-13 13:11:17
1867
原创 2021SC@SDUSC hbase代码分析(十二)HFile分析(4)
2021SC@SDUSC hbase源码分析(十二)HFile分析(四)2021SC@SDUSC 2021SC@SDUSC2021SC@SDUSC 2021SC@SDUSC目录2021SC@SDUSC hbase源码分析(十二)HFile分析(四)布隆过滤器相关Block布隆过滤器简介Bloom Index Block结构相关源码分析元数据相关指向Bloom Block 的索引项总结布隆过滤器相关Block布隆过滤器简介布隆过滤器对HBase的数据读取性能优化至关重要。前面几个博客,介绍过HBa
2021-12-12 12:53:01
2105
原创 2021SC@SDUSC hbase代码分析(十一)HFile分析(3)
2021SC@SDUSC hbase源码分析(十一)HFile分析(3)2021SC@SDUSC 2021SC@SDUSC2021SC@SDUSC 2021SC@SDUSC目录2021SC@SDUSC hbase源码分析(十一)HFile分析(3)核心BlockType1.Trailer Block简介代码分析2.Data Block简介代码分析未完待续核心BlockTypeHbase中定义了8中BlockType,每种BlockType对应的Block都存储不同的内容,有的存储用户数据,有的存储
2021-12-06 16:13:08
1583
原创 2021SC@SDUSC hbase代码分析(十)HFile分析(2)
2021SC@SDUSC hbase源码分析(十)HFile分析(2)2021SC@SDUSC 2021SC@SDUSC2021SC@SDUSC 2021SC@SDUSC目录2021SC@SDUSC hbase源码分析(十)HFile分析(2)HFileBlockHFileBlock结构HFileBlock源码HFileBlock.WriterstartWriting方法写入KeyValue过程writeHeaderAndData方法finishBlock方法循环以上几步,即可完成HFile Bloc
2021-11-30 13:15:59
196
原创 2021SC@SDUSC hbase代码分析(九)HFile分析(1)
2021SC@SDUSC hbase源码分析(九)HFile分析(1)2021SC@SDUSC 2021SC@SDUSC2021SC@SDUSC 2021SC@SDUSC目录2021SC@SDUSC hbase源码分析(九)HFile分析(1)HFile构成HFile物理数据HFile类中相关代码介绍HFile存储路径判断格式获得HFile路径集合HFile设置blocksize写的API创建Writer客户端读获取reader:HFile类的相关代码分析完毕未完待续HFile构成文件主要分为四个
2021-11-24 21:10:52
1146
原创 2021SC@SDUSC hbase源码分析(八)Coprocessor分析(2)
2021SC@SDUSC hbase源码分析(八)Coprocessor分析(2)目录2021SC@SDUSC hbase源码分析(八)Coprocessor分析(2)Endpoint介绍Endpoint与Observer区别Endpoint工作流程Endpoint部分代码getMaxgetMingetSumgetAvgEndpoint使用Coprocessor加载1.静态加载2.动态加载2021SC@SDUSC 2021SC@SDUSC2021SC@SDUSC 2021SC@SDUSCEndpoi
2021-11-15 18:02:23
1834
原创 2021SC@SDUSC hbase代码分析(七)Coprocessor分析(1)
2021SC@SDUSC hbase代码分析(七)Coprocessor分析(1)2021SC@SDUSC 2021SC@SDUSC2021SC@SDUSC 2021SC@SDUSC目录2021SC@SDUSC hbase代码分析(七)Coprocessor分析(1)Coprocessor机制优点Coprocessor分类Observer Coprocessor相关源码分析Observer Coprocessor工作流程:工作流程源码分析RegionObserverRegionServerObserv
2021-11-10 21:17:25
1860
原创 2021SC@SDUSC hbase代码分析(六)写入流程(4)
2021SC@SDUSC hbase源码分析(七) 写入流程2021SC@SDUSC 2021SC@SDUSC2021SC@SDUSC 2021SC@SDUSC接上次博客(2)随机写入MemStoreKeyValue写入Rgion分为两步:首先追加到HLog,再写入MemStore。MemStore使用数据结构ConcurrentSkipListMap来实际存储KeyValue.优点是能够非常友好地支持大规模并发写入,同时跳跃表本身是有序存储的,这有利于数据有序落盘,并且有利于提升MemStore
2021-11-03 14:09:49
735
原创 2021SC@SDUSC hbase源码分析(五)HLog分析
2021SC@SDUSC hbase源码分析(五) HLog分析目录2021SC@SDUSC hbase源码分析(五) HLog分析HLogHLog结构![在这里插入图片描述](https://img-blog.csdnimg.cn/77761f619b03462babb6b2981c62499f.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5Yqq5Yqb5Yqq5Yqb5Ya
2021-10-26 14:54:31
569
原创 2021SC@SDUSC hbase源码分析(四)写入流程(3)
目录Hbase写特性:Hbase写入流程概况:相关源码分析:2.Region写入阶段(1)追加到HLogHLog持久化等级:HLog写入模型(2)随机写入MemStore2021SC@SDUSC2021SC@SDUSC2021SC@SDUSCHbase写特性:Hbase是一个比较少见的写比读快的数据库,原因是在写的过程中,既要写Hlog文件也要将数据写到内存;读的时候需要将所有数据数据文件合起来(包括MemoryStore)最后读出来。因此Hbase进行读操作所需的时间较多。HBase服务端没有
2021-10-18 13:37:17
620
原创 2021SC@SDUSC hbase源码分析(三)写入流程(2)
2021SC@SDUSC 2021SC@SDUSC 2021SC@SDUSC 2021SC@SDUSC接上次多次Put请求及RS寻址、构造RPC1.多次put请求2.RS寻址3.RPC请求Put方法的客户端处理阶段小结多次Put请求及RS寻址、构造RPC1.多次put请求@Overridepublic void put(final List<Put> puts) throws IOException { for (Put put : puts) { validatePut(
2021-10-11 13:41:22
176
原创 2021SC@SDUSC hbase源码分析(二)写入数据(1)
2021SC@SDUSC hbase源码分析(二)写入数据(1)2021SC@SDUSC 2021SC@SDUSC 2021SC@SDUSC 2021SC@SDUSC目录2021SC@SDUSC hbase源码分析(二)写入数据(1)Hbase写入总览大体写入流程写入时组件交互客户端处理阶段1.用户提交put请求单次put请求多次put请求如有不足或错误,欢迎指正Hbase写入总览Hbase采用LSM树架构,这种架构更适合于写多读少的场景。 需要说明的是,Hbase服务端并没有提供update、d
2021-10-08 20:04:41
417
原创 2021SC@SDUSC hbase源码分析(一) 项目综述
2021SC@SDUSC hbase源码分析(一) 项目综述及分工2021SC@SDUSC 山东大学软件学院软件工程应用与实践hbase相关知识简介:1.Hbase概述:当需要进行实时读写或者随机访问大规模的数据集的时候,我们应该优先考虑使用Hbase!HBase是[Hadoop](Apache Hadoop)的生态系统,是建立在Hadoop文件系统(HDFS)之上的分布式、面向列的数据库,通过利用Hadoop的文件系统提供容错能力。HBase作为Google Bigtable的开源实现,Goo
2021-09-28 20:54:52
229
原创 LeetCode 474 一和零 - 动态规划 java代码
LeetCode.474 一和零 Java代码题目描述:给你一个二进制字符串数组 strs 和两个整数 m 和 n 。请你找出并返回 strs 的最大子集的长度,该子集中 最多 有 m 个 0 和 n 个 1 。如果 x 的所有元素也是 y 的元素,集合 x 是集合 y 的 子集 。题目链接解题思路:这道题目我认为是一个0-1背包问题,很多人认为是一个多重背包。其中:多重背包是指每个物品、数量不同(每个物品可以复用)。本题中的物品其实是strs这一字符串数组的元素,其中题目中所说的m和
2021-09-25 16:09:16
100
原创 LeetCode 72 编辑距离-动态规划 java代码
72 编辑距离 困难 Java代码题目详情:给你两个单词 word1 和 word2,请你计算出将 word1 转换成 word2 所使用的最少操作数 。你可以对一个单词进行如下三种操作:插入一个字符删除一个字符替换一个字符题目链接解题思路:确定dp数组所代表的含义确定dp数组的递推公式确定dp数组的初始数值确定遍历顺序解题过程:确定dp数组所代表的含义:dp[ i ][ j ] 表示 以下标 i - 1 为结尾的word1变化为下标 j - 1 为结尾的word2
2021-09-23 14:09:58
123
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人