摘要: HBase 架构 ​ HBase 是受 Google Bigtable 论文 启发实现的一个 K-V 类型的 LSM 存储引擎,其架构设计与 Bigtable 完全相仿。本文只讲解 HBase 的架构设计并剖析到 HBase 的存储不可分割的最小单元 KeyValue 类,但未涉及 HBase 数据 阅读全文
posted @ 2021-09-18 15:37 davonchen 阅读(262) 评论(0) 推荐(0) 编辑
摘要: SSTable 与 LSM 引擎 ​ 假设我们需要设计一个K-V数据库,为了提升 K-V 数据库的写性能,要尽量避免对磁盘上的内容做随机写,所以对已经持久化在磁盘上的 K-V 不做原地更改,当这个 Key 对应的 Value 发生更新或者删除时,我们仍然继续向磁盘新增一条数据,在读取时同一个 Key 阅读全文
posted @ 2021-09-18 12:00 davonchen 阅读(150) 评论(0) 推荐(0) 编辑
摘要: Google Bigtable 简介 Bigtable 本质是一个分布式 K-V 数据库,其主要目标就是数据的高性能读写。 分布式 ​ Bigtable 将整个大的表水平划分为多个 Tablet ,每个 Tablet 负责一定范围内的 Key 对应的数据,Bigtable 的服务节点称为 Table 阅读全文
posted @ 2021-09-18 11:57 davonchen 阅读(443) 评论(0) 推荐(0) 编辑
摘要: 列式存储格式与压缩算法 列式存储 在OLAP系统中使用列式存储可以在存储和查询两方面取得优势: 存储:由于每列的数据类型是相同的,列式存储可以达到更好的压缩比 查询:需要查询那些列才去扫描读取,在宽表及数据量大时优势更为明显 常见的列式存储格式有:Parquet、ORC(optimized RCFi 阅读全文
posted @ 2021-07-08 19:19 davonchen 阅读(612) 评论(0) 推荐(0) 编辑
摘要: 《背包九讲》 阅读笔记 ​ 背包问题是动态规划中非常经典的问题,其题目大致描述为:有N件物品和一个容量为V的背包,第 i 件物品的体积为 c[i], 价值为 w[i]。求解如何装入可使背包中物品价值最大。 一、01背包 基本思路: ​ 01背包表示这N件物品每个都只能拿0次或者1次。01背包是所有背 阅读全文
posted @ 2021-06-09 22:56 davonchen 阅读(57) 评论(0) 推荐(0) 编辑
摘要: 寻找无序数组中第K大的数 一、代码 // 寻找无序数组 nums 的 [from, end] 范围中第 K 大的数。K 为 0 基,即 K = 0 代表找第 1 大的数。 // 默认参数均合法 private void findKthLargest(int[] nums, int from, int 阅读全文
posted @ 2021-05-20 20:55 davonchen 阅读(189) 评论(0) 推荐(0) 编辑
摘要: Hive 分区表、分桶表和分桶抽样 一、使用场景 ​ 分区表和分桶表都是为大规模数据集查询优化而设计出来了,通过在物理存储文件上的划分,防止查询时的全表扫描提高查询效率。实际生产中分区表使用较多,分桶表由于在建表时固定了桶的个数,不适合于持续不断膨胀的表,故使用较少,但仍有分区、分桶同时使用的。 二 阅读全文
posted @ 2021-04-21 21:24 davonchen 阅读(612) 评论(0) 推荐(0) 编辑
摘要: Spark 运行时相关概念 一些主要的名词概念 从集群的物理层面 Master 节点:部署 Cluster Manager的节点 Slave 节点:部署 Worker 的节点,每个节点可以有多个 Worker 进程 从进程层面(与所执行的应用无关) Cluster Manager:管理集群的 CPU 阅读全文
posted @ 2021-03-02 20:41 davonchen 阅读(74) 评论(0) 推荐(0) 编辑
摘要: 默认舍去value为null的字段 默认: JSON.toJSONString(zhangsan) 输出值为null的字段: JSON.toJSONString(zhangsan, SerializerFeature.WriteMapNullValue) 输出值为null的字段(字符串类型为null 阅读全文
posted @ 2021-02-22 17:06 davonchen 阅读(75) 评论(0) 推荐(0) 编辑
摘要: 使用Hive SQL创建日期维度表 一、需求 ​ 需要在Hive数仓中创建一张时间跨度为2010年-2025年的时间维度表,字段如下: 列 类型 Comment 计算逻辑(用于需求沟通) date string 标准日期格式 2020-01-01 date_ds string ds日期格式 2020 阅读全文
posted @ 2020-10-24 12:24 davonchen 阅读(3577) 评论(0) 推荐(1) 编辑