随笔分类 - 大数据 / 数据湖
摘要:deletion vector 是通过一组向量, 维护一个文件中被删除的行, 可以理解为一种索引. 这种方式可以以 Merge On Write 的方式, 来避免 Merge On Read 的过程, 从而以写入性能换取读取性能. 对于写少读多, 或者对读取性能有更高要求的场景会比较适合. 避免 M
阅读全文
摘要:Lookup Store 主要用于 Paimon 中的 Lookup Compaction 以及 Lookup join 的场景. 会将远程的列存文件在本地转化为 KV 查找的格式. Hash https://github.com/linkedin/PalDB Sort https://github
阅读全文
摘要:介绍 目的 Chaneglog producer 的主要目的是为了在 Paimon 表上产生流读的 changelog, 所以如果只是批读的表是可以不用设置 Chaneglog producer 的. 一般对于数据库如 MySQL 来说, 当执行的语句涉及数据的修改例如插入、更新、删除时,MySQL
阅读全文
摘要:在Delta Lake官网上提到的一篇新一代湖仓架构的论文. 这篇论文由Databricks团队2021年发表于CIDR会议. 这个会议是对sigmod和vldb会议的补充. 可以看到这篇论文和前一篇Delta Lake: High-Performance ACID Table Storage ov
阅读全文
摘要:论文发表于 2020年, 研究数据湖产品的很好的学习资料. # 概要 开篇很明确的表明了为什么要做Delta lake这样一个产品. Databricks尝试将数据仓库直接架在云上对象存储之上, 这种尝试的过程中遇到了对象存储的一些问题, 为了解决这些问题, 提出了Delta lake这套技术方案.
阅读全文
摘要:Compact主要涉及以下几个组件 CompactManager 管理Compact task CompactRewriter 用于compact过程中数据的重写实现, 比如compact过程中产生changelog等 CompactStrategy 决定哪些文件需要被compact Append
阅读全文
摘要:# 查询模式 先来看看官网关于Paimon查询模式的说明  ![image.png](https:/
阅读全文
摘要:> 基于Paimon 0.5版本 写入流程的构建`org.apache.paimon.flink.sink.FlinkSinkBuilder#build` 算子的流向 BucketingStreamPartitioner 分区 -> RowDataStoreWriteOperator 写入 -> C
阅读全文
摘要:Hudi 文中部分代码对应 0.14.0 版本 发展背景 初始的需求是Uber公司会有很多记录级别的更新场景,Hudi 在Uber 内部主要的一个场景,就是乘客打车下单和司机接单的匹配,乘客和司机分别是两条数据流,通过 Hudi 的 Upsert 能力和增量读取功能,可以分钟级地将这两条数据流进行拼
阅读全文