最近日子过的是一团“浆糊”

写在假期的尾巴,即礼拜天的晚上: 自从工作后,自己貌似逐渐失去了学生时代对代码的激情。不过也不是说就不喜欢代码,只是纯粹到了周六日,啥事不想干,就想爽玩! 这一年不知道是不是因为 P 事太多了,使得每一个…

Apache Polaris 从入门到精通

Iceberg Rest Catalog 在介绍 Polaris 之前,先介绍下 Iceberg 的 Rest catalog。 Iceberg 支持众多 catalog,比如 Hive、Glue、Hadoop、REST 等等。这里面最为开放的就是 REST catalog。你只需要按照官方的 rest a…

ORC vs Parquet,孰强孰弱?

2024 年的今天,从事实上看,Parquet 貌似已经在这一场数据湖格式之争中胜利了,这从各大表格式的支持程度上可见一般。 Hudi Paimon Iceberg DeltaLake Hive Parquet ✅ ✅ ✅ ✅ ✅ ORC ❌ ✅ ✅ ❌ ✅ 本文存粹按…

Apache ORC 加密解析

Apache ORC 支持对列进行加密,且会对该列的统计信息一起加密。同时加密后的文件,即使 reader 没有正确的 master key 也能够正常的查看,只不过看到的都是错误的,被 mask 后的数据。 但是 ORC 的加密只能支持到列…

RLE 编码在 Apache ORC 中的实现

最近刚学习了 Zigzag(浅谈 Apache ORC 之 Decimal 存储),那就干脆趁热打铁,再学一下 Apache ORC 里面的 RLE 吧。 RLE(Run Length Encoding) 说说简单,比如 [1, 1, 1, 1] 四个 int32,本来需要 4 * 4 = 16 by…

浅谈 Apache ORC 之 Decimal 存储

Apache ORC 官方文档用一句话轻描淡写了 Decimal 的存储,但这句话让我这个 CRUD Boy 看的好苦。 Decimal was introduced in Hive 0.11 with infinite precision (the total number of digits). In Hive 0.13, the …

C++ 函数虚表 Virtual Table

之前老是搞不明白这个八股,后面有幸看到 The virtual table 这篇文章,终于搞明白了,特此记录一下。 C++ 标准从来没有规定过如何实现虚函数,都是由编译器自行实现。 Virtual Table 实现 C++ 实现虚函数都是通过 …

自适应 Cache 之 Starburst Warp Speed

A long time ago in a galaxy far,far away。Lake is Lake,Warehouse is Warehouse。不知道什么时候,搞 Lake 的野心开始膨胀,想要干一部分 Warehouse 的活。但是他们又有自知之明,知道自己不能 100% 取代 Ware…