Doris 中的bitmap 序列化格式说明如下:

    c++ 序列化和反序列化的示例 在 be/src/util/bitmap_value.hBitmapValue::write() BitmapValue::deserialize() 方法中, Java示例在 fe/fe-common/src/main/java/org/apache/doris/common/io/BitmapValue.java 中的serialize() 方法中。

    HLL 格式说明

    描述
    0HLL_DATA_EMPTY,空 HLL, 后面data 部分为空,整个序列化结果只有一个字节
    1HLL_DATA_EXPLICIT, 后面1个字节 explicit 数据块个数,后面接多个数据块,每个数据块由8个字节长度和数据组成,
    2HLL_DATA_SPARSE,只存非0 值,后面4个字节 表示 register 个数, 后面连续多个 register 结构,每个register 由前面2个字节的index 和1个字节的值组成
    3HLL_DATA_FULL ,表示所有16 1024个register都有值, 后面连续16 1024个字节的值数据

    c++ 序列化和反序列化的示例 在 be/src/olap/hll.hserialize() deserialize() 方法中, Java示例在 fe/fe-common/src/main/java/org/apache/doris/common/io/hll.java 中的serialize() deserialize() 方法中。