摘要:
Compact主要涉及以下几个组件 CompactManager 管理Compact task CompactRewriter 用于compact过程中数据的重写实现, 比如compact过程中产生changelog等 CompactStrategy 决定哪些文件需要被compact Append 阅读全文
摘要:
# 查询模式 先来看看官网关于Paimon查询模式的说明 ![image.png](https://img2023.cnblogs.com/blog/697236/202306/697236-20230625192823219-2121282029.png) ![image.png](https:/ 阅读全文
摘要:
> 基于Paimon 0.5版本 写入流程的构建`org.apache.paimon.flink.sink.FlinkSinkBuilder#build` 算子的流向 BucketingStreamPartitioner 分区 -> RowDataStoreWriteOperator 写入 -> C 阅读全文
摘要:
sql2rel的过程是将SqlNode 转化成RelNode的过程 在 `SqlToRelConverterTest`中添加样例测试 ```java @Test void testScan() { String sql = "SELECT * FROM EMP WHERE empno When va 阅读全文
摘要:
Rust很适合写命令行工具,特别是使用`clap` crate 更加方便,这篇文章介绍使用rust写一个jar包class冲突检测的工具。项目地址: [https://github.com/Aitozi/jar_conflict_detector](https://github.com/Aitozi 阅读全文
摘要:
String String 类型的数据和基本类型不同,基本类型的长度是固定的,所以可以在栈上分配,而String类型是变长的,所以需要在堆上分配,所以String 类型实际上是一个指向堆的指针。他的结构和Vec很类似。从他的声明看也是一个u8的Vec pub struct String { vec: 阅读全文
摘要:
2023 第三本书,之前下决心每次读完书就要写一篇读后感,加深认识。结果下决心后的第一本 《乡土中国》就写不下来读后感,感觉读后感太多太密,还不如想起来的时候回头浏览一遍书。 但是最近听路障的视频,发现他也建议写读后感来增加对书的认识,这样能更好的帮助记忆,加上这本书好奇心里面的观点,创造力来源于知 阅读全文
摘要:
Hudi 文中部分代码对应 0.14.0 版本 发展背景 初始的需求是Uber公司会有很多记录级别的更新场景,Hudi 在Uber 内部主要的一个场景,就是乘客打车下单和司机接单的匹配,乘客和司机分别是两条数据流,通过 Hudi 的 Upsert 能力和增量读取功能,可以分钟级地将这两条数据流进行拼 阅读全文
摘要:
一层嵌套,但是flatten的要求需要List内部类型都一样, 例如都为List scala> List(List(1), List(2), List(3)).flatten res4: List[Int] = List(1, 2, 3) scala> List(List(List(1)), Lis 阅读全文
摘要:
设想以下这个计算 def eval(i: Int): Option[Int] = { println(s"invoke with $i") if (i % 2 == 0) { None } else { Some(i + 1) } } @Test def test(): Unit = { // 3 阅读全文