不甚了然
码龄13年
关注
提问 私信
  • 博客:45,772
    45,772
    总访问量
  • 43
    原创
  • 80,444
    排名
  • 299
    粉丝
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:香港
  • 加入CSDN时间: 2011-11-16
博客简介:

不甚了然的博客

查看详细资料
  • 原力等级
    领奖
    当前等级
    3
    当前总分
    398
    当月
    0
个人成就
  • 获得335次点赞
  • 内容获得6次评论
  • 获得351次收藏
创作历程
  • 16篇
    2024年
  • 15篇
    2023年
  • 9篇
    2022年
  • 3篇
    2021年
成就勋章
TA的专栏
  • Iceberg特性详解
  • Flink知识集
    26篇
  • Iceberg知识集
    9篇
  • 其他知识
    3篇
  • Spark知识集
    2篇
兴趣领域 设置
  • 大数据
    flink
  • 云原生
    kubernetes云原生
创作活动更多

如何做好一份技术文档?

无论你是技术大神还是初涉此领域的新手,都欢迎分享你的宝贵经验、独到见解与创新方法,为技术传播之路点亮明灯!

344人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

Apache CarbonData Meetup PPT

发布资源 2024.07.20 ·
pdf

数据湖Copy-On-Writer的优化思路

发布资源 2024.07.20 ·
pdf

Merge-On-Read

Merge-On-Read,顾名思义,就是在读取的时候进行合并,是与Copy-On-Write相反的一种模式在Iceberg中,Merge-On-Read同样用于行级更新,整体过程如下当更新数据时,Iceberg不再Copy一份旧数据,而是直接将更新数据写入独立的一个文件用来标识需要删除的数据这种模式减少了写入时的合并操作,但是加重了读取数据时的合并操作,因此适合写多读少的场景。
原创
发布博客 2024.07.20 ·
1086 阅读 ·
16 点赞 ·
0 评论 ·
25 收藏

Iceberg Copy-On-Write

Copy-On-Write:顾名思义,就是在写入的时候进行复制,最初是计算机领域用来解决读多写少场景下的并发访问控制问题的如下,在Copy-On-Write模式下,用户写数据时,会先将原始数据Copy出一份副本,此时其他用户读数据时仍然读取的是原始的数据;之后进行写的用户对副本进行修改,修改完成以后,将访问指向的原始数据替换为修改后的数据;替换完成后,用户访问都会访问这个被修改过的数据Copy-On-Write在读多写少的场景下可以提供有效的性能,因为读操作不受影响,可以一直正常访问资源数据。
原创
发布博客 2024.07.20 ·
971 阅读 ·
18 点赞 ·
0 评论 ·
17 收藏

Flink推测机制

Flink推测机制
原创
发布博客 2024.07.09 ·
1179 阅读 ·
17 点赞 ·
0 评论 ·
13 收藏

StarRocks分布式元数据源码解析

StarRocks分布式解析Iceberg元数据流程
原创
发布博客 2024.07.09 ·
1261 阅读 ·
15 点赞 ·
0 评论 ·
24 收藏

Iceberg Changelog

Iceberg流式更新目前只支持Append的数据,不支持更新删除。
原创
发布博客 2024.03.04 ·
1091 阅读 ·
16 点赞 ·
0 评论 ·
19 收藏

FlinkSQL ChangeLog

登录sql-client,创建一个upsert-kafka的sql作业(注意,这里发送给kafka的消息必须带key,普通只有value的消息无法解析,这里的key即是主键的值)发送消息带key和消费消息显示key方式如下作业的DAG图如下。
原创
发布博客 2024.03.02 ·
1913 阅读 ·
36 点赞 ·
0 评论 ·
20 收藏

Row-level Runtime Filters in Spark

发布资源 2024.02.29 ·
pdf

Flink FFA 2022 Flink在米哈游的应用实践

发布资源 2024.02.29 ·
pdf

Flink FFA Apache Flink实时计算在美的多业务场景下的应用与实践

发布资源 2024.02.29 ·
pdf

Flink FFA Flink Towards Streaming Data Warehouse

发布资源 2024.02.29 ·
pdf

Flink FFA 2022

发布资源 2024.02.29 ·
pdf

Flink分区相关

真正有用的信息是在table表的信息当中,核心在tables.put(tablePath, table.copy());这一句当中,table.copy()存储了表信息,最终调用到实现类CatalogTableImpl,其父类的构造函数有分区信息。表中存储了相应的分区信息,SQL最终操作的都是表,所以都是从这取的分区信息,注意这是一个StringList。
原创
发布博客 2024.02.29 ·
718 阅读 ·
11 点赞 ·
0 评论 ·
7 收藏

Range-Encoded Bit-Slice Index

算法使用Bit-Sliced Range-Encoded BitMap算法,在基础bitmap的基础上,添加了范围查询和Bit-Sliced范围查询用来弥补bitmap范围查询能力弱的问题;Bit-Sliced用来降低索引Key值的存储数量,进而降低整体索引的空间占用BSI就是Bit-Sliced,即将数值按位切分表示,用更少的内容代表更多的数据,通常有十进制方式和二进制方式,二进制方式更佳。
原创
发布博客 2024.02.29 ·
1183 阅读 ·
20 点赞 ·
0 评论 ·
19 收藏

Spark Bloom Filter Join

Bloom Filter Join,或者说Row-level Runtime Filtering(还额外有一条Semi-Join分支),是Spark 3.3对运行时过滤的一个最新补充之前运行时过滤主要有两个:动态分区裁剪DPP(开源实现)、动态文件裁剪DFP(Databricks实现),两者都能有效减少数据源层面的Scan IOBloom Filter Join的主要优化点是在shuffle层,通过在join shuffle前对表进行过滤从而提高运行效率。
原创
发布博客 2024.02.28 ·
1527 阅读 ·
24 点赞 ·
0 评论 ·
23 收藏

Iceberg Flink FLIP-27实现

前面步骤完成后是把所有的分片全部放在了assigner当中,没有进行分配。分配在AbstractIcebergEnumerator接口当中定义,这是Iceberg当中enumerator的最上层父类,直接实现Flink的SplitEnumeratorSplitEnumerator定义了handleSourceEvent接口,负责处理来自读取器的自定义消息,有SourceCoordinator调用LOG.debug(subtask,
原创
发布博客 2024.02.28 ·
1323 阅读 ·
33 点赞 ·
0 评论 ·
20 收藏

Flink动态分区裁剪

静态分区裁剪的原理跟谓词下推是一致的,只是适用的是分区表,通过将where条件中的分区条件下推到数据源达到减少分区扫描的目的动态分区裁剪应用于Join场景,这种场景下,分区条件在join的一侧,另一侧无法应用条件进行裁剪静态分区裁剪是静态的规则优化下推,动态分区裁剪是运行时过滤,通过对有条件一侧的表进行过滤,提取结果中的分区数据,然后传递到另一侧的表中进行数据过滤。
原创
发布博客 2024.02.27 ·
1170 阅读 ·
21 点赞 ·
0 评论 ·
25 收藏

Iceberg小文件合并

Iceberg提供了Actions来进行小文件合并,需要手动调用执行这个任务目前仅仅将小文件进行了合并生成大文件,但旧的文件并没有删除,也就是文件反而变多了功能一路调用,到RowDataRewriter类中的rewriteDataForTasks这里构建Flink任务,核心是RewriteMap的算子,其map方法如下,本质是读取并写入数据注意,这边小文件合并任务是多并发的,目前flink的并发度这里不提供配置,所以用的是flink的parallelism.default的值。
原创
发布博客 2024.02.27 ·
1186 阅读 ·
9 点赞 ·
0 评论 ·
10 收藏

hudi索引

索引实现的基类,核心方法是两个:tagLocation和updateLocation后续有不同的子类实现具体的索引。
原创
发布博客 2024.02.27 ·
1065 阅读 ·
19 点赞 ·
0 评论 ·
16 收藏
加载更多