java技术圈 为您找到相关结果 2

hive中的lateral view 与 explode函数的使用_guodong2k的博客

explode与lateral view在关系型数据库中本身是不该出现的,因为他的出现本身就是在操作不满足第一范式的数据(每个属性都不可再分), 本身已经违背了数据库的设计原理(不论是业务系统还是数据仓库系统),不过大数据技术普及后,很多类似pv,uv的数据,在业务系统中是存贮在非关系型数据库中, 用json存储的概率比较大,直接导入hive为基础的数仓系统中,就需要经过ETL过程解析这类数据,explode与lateral view在这种场景下大显身手。 explode作用是处理map结构的字段,使用案例如下(hive自带map,struct,array字段类型,但是需要先定义好泛型,所以在此案例不使用): 建表语句: drop table explode_lateral_view; cr...阅读全文

博文 2022-08-04 06:32:34 CSDN博客_hive lateral

RoaringBitmap的压缩原理

Roaring Bitmap 的压缩原理可以用一个 **“分抽屉整理物品”** 的比喻来理解,它的核心是通过 **“分块 + 动态压缩”** 的方式,针对不同数据特征选择最省空间的存储方法。 --- ### **1. 分块思想:把大问题拆成小问题** - **32位数拆成高16位和低16位** 想象你要管理一个超大的仓库(存放所有32位整数),直接管理整个仓库会非常麻烦。于是你把仓库分成 **65536个小抽屉**(因为高16位有 `2^16=65536`种可能),每个抽屉对应一个高16位的值。 - **每个抽屉只管理低16位的数** 比如数字 `0x12345678`,高16位是 `0x1234`,低16位是 `0x5678`。这个数字会被放进编号为 `0x1234` 的抽屉里,抽屉内部只...阅读全文

博文 2025-04-08 15:23:24 dalang