BITMAP函数

数据仓库 PALO

  • 功能发布记录
  • 操作手册1
    • LDAP认证
    • 时区
    • 使用S3-SDK访问对象存储
    • 权限管理
    • 物化视图
    • 变量
    • 资源管理
    • 数据更新与删除
      • 标记删除
      • Sequence-Column
      • 数据更新
      • 数据删除
    • 备份与恢复
      • 备份与恢复
    • 数据导出1
      • SELECT INTO OUTFILE
      • MySQL Dump
      • 数据导出概述
      • Export
    • 数据导出
      • 全量数据导出
      • 导出查询结果集
      • 导出总览
      • 导出数据到外部表
    • 查询加速1
      • 查询缓存
      • 物化视图
        • 同步物化视图
        • 物化视图概览
        • 异步物化视图
          • 异步物化视图常见问题
          • 最佳实践
          • 异步物化视图概述
          • 创建、查询与维护异步物化视图
    • 数据导入
      • JSON格式数据导入说明
      • 导入本地数据
      • 导入BOS中的数据
      • 导入事务和原子性
      • 通过外部表同步数据
      • 使用JDBC同步数据
      • 列的映射、转换与过滤
      • 订阅Kafka日志
      • 严格模式
      • 导入总览
    • 数据更新与删除1
      • 事务
      • 数据更新
        • 主键模型的导入更新
        • 主键模型的 Update 更新
        • 数据更新概述
        • 主键模型的更新并发控制
        • 聚合模型的导入更新
      • 数据删除
        • 删除操作概述
        • Truncate 操作
        • 表原子替换
        • Delete 操作
        • 基于导入的批量删除
        • 临时分区
    • 数据导入1
      • 高并发导入优化(Group Commit)
      • 导入概览
      • 异常数据处理
      • 导入高可用性
      • 导入时实现数据转换
      • 数据源
        • Kafka
        • S3 兼容存储
        • 从其他 TP 系统迁移数据
        • HDFS
        • 从其他 AP 系统迁移数据
        • Flink
        • 本地文件
      • 导入方式
        • Broker Load
        • MySQL Load
        • Insert Into Values
        • Stream Load
        • Insert Into Select
        • Routine Load
      • 文件格式
        • CSV
        • JSON
        • Parquet
        • ORC
      • 复杂数据类型
        • MAP
        • Variant
        • JSON
        • STRUCT
        • Bitmap
        • HLL
        • ARRAY
  • 开发指南
    • 迁移ClickHouse数据
    • Doris集群间数据迁移
    • 数据更新与删除
      • 事务
      • 数据更新
        • 主键模型的导入更新
        • 主键模型的 Update 更新
        • 数据更新概述
        • 主键模型的更新并发控制
        • 聚合模型的导入更新
      • 数据删除
        • 删除操作概述
        • Truncate 操作
        • 表原子替换
        • Delete 操作
        • 基于导入的批量删除
        • 临时分区
    • 查询加速
      • 查询缓存
      • Colocation Join
      • 高并发点查
      • Hint
        • Hint 概述
        • Leading Hint
        • Distribute Hint
      • 物化视图
        • 同步物化视图
        • 物化视图概览
        • 异步物化视图
          • 异步物化视图常见问题
          • 最佳实践
          • 异步物化视图概述
          • 创建、查询与维护异步物化视图
      • 高效去重
        • BITMAP 精准去重
        • HLL 近似去重
      • 优化技术原理
        • TOPN 查询优化
        • 统计信息
        • Pipeline 执行引擎
        • 查询优化器介绍
        • Runtime Filter
      • 查询调优概述
        • 调优概述
        • 诊断工具
        • 分析工具
        • 调优流程
      • 查询优化实践
        • 常见调优参数
        • 计划调优
          • 使用 Hint 控制代价改写
          • 使用异步物化视图透明改写
          • 使用 Leading Hint 控制 Join 顺序
          • 优化表 Schema 设计
          • 使用分区裁剪优化扫表
          • 优化索引设计和使用
          • 使用 Hint 调整 Join Shuffle 方式
          • DML 计划调优
          • 使用 Colocate Group 优化 Join
          • 使用同步物化视图透明改写
          • 使用 SQL Cache 加速查询
        • 执行调优
          • 数据倾斜处理
          • RuntimeFilter 的等待时间调整
          • 并行度调优
    • 数据查询
      • 连接(JOIN)
      • 子查询
      • 复杂类型查询
      • 列转行 (Lateral View)
      • MySQL 兼容性
      • 聚合多维分析
      • 分析函数(窗口函数)
      • 公用表表达式(CTE)
      • 自定义函数
        • 别名函数
        • Java UDF, UDAF, UDTF
    • 数据导出
      • SELECT INTO OUTFILE
      • MySQL Dump
      • 最佳实践
      • 数据导出概述
      • Export
    • 数据导入
      • 高并发导入优化(Group Commit)
      • 异常数据处理
      • 导入高可用性
      • 导入时实现数据转换
      • 导入最佳实践
      • 数据源
        • Kafka
        • Snowflake
        • S3 兼容存储
        • Google Cloud Storage
        • 从其他 TP 系统迁移数据
        • Azure Storage
        • 腾讯云 COS
        • MinIO
        • HDFS
        • 阿里云 OSS
        • 华为云 OBS
        • 从其他 AP 系统迁移数据
        • Flink
        • Redshift
        • Amazon S3
        • 本地文件
        • BigQuery
      • 导入方式
        • Broker Load
        • MySQL Load
        • Insert Into Values
        • Stream Load
        • Insert Into Select
        • Routine Load
      • 文件格式
        • CSV
        • JSON
        • Parquet
        • ORC
      • 复杂数据类型
        • MAP
        • Variant
        • JSON
        • STRUCT
        • Bitmap
        • HLL
        • ARRAY
    • BI工具接入
      • Sugar
      • Navicat
      • Tableau
      • DBeaver
      • 永洪BI
      • FineBI(帆软)
    • 数据库连接
      • 通过 MySQL 协议连接
      • 基于 Arrow Flight SQL 的高速数据传输链路
    • 湖仓一体
      • 分析 S3或HDFS 上的文件
      • 湖仓一体概述
      • SQL 方言兼容
      • 弹性计算节点
      • 云服务认证接入
      • 元数据缓存
      • 外表统计信息
      • 数据缓存
      • 数据库分析
        • MySQL
        • JDBC Catalog
        • Oracle
        • OceanBase
        • SAP HANA
        • 阿里云 MaxCompute
        • ClickHouse
        • PostgreSQL
        • IBM Db2
        • SQL Server
        • Elasticsearch
      • 湖仓一体最佳实践
        • 使用 PALO 和 Paimon
        • 使用 PALO 和 Iceberg
        • 使用 PALO 和 Hudi
        • 使用 PALO 和 LakeSoul
      • 数据湖构建
        • Iceberg
        • Hive
      • 数据湖分析
        • Hudi Catalog
        • 阿里云 DLF
        • Iceberg Catalog
        • Paimon Catalog
        • Hive Catalog
    • 数据表设计
      • 行业混存
      • 数据压缩
      • Schema 变更
      • 数据类型
      • 自增列
      • 概览
      • 数据库建表最佳实践
      • 冷热数据分层
        • SSD 和 HDD 层级存储
        • 远程存储
        • 冷热数据分层概述
      • 表索引
        • 倒排索引
        • 前缀索引与排序键
        • N-Gram 索引
        • BloomFilter 索引
        • 索引概述
      • 数据划分
        • 数据分桶
        • 数据分布概念
        • 动态分区
        • 自动分区
        • 手动分区
        • 常见文档
      • 数据模型
        • 使用注意
        • 模型概述
        • 主键模型
        • 明细模型
        • 聚合模型
  • 版本发布历史
    • 百度数据仓库 Palo 2.0 版本全新发布
  • SQL手册
    • 字面常量
    • 别名
    • SQL-手册
    • 数据类型
    • SQL语句
    • 注释
    • 内置函数
    • 白名单管理
    • SQL操作符
    • 内置函数
      • 聚合函数
      • 位操作函数
      • 字符串函数
      • 条件函数
      • 数学函数
      • JSON解析函数
      • 类型转换函数
      • 格式转换函数
      • 通用函数
      • 时间和日期函数
      • BITMAP函数
      • 窗口函数
      • 哈希函数
      • HLL函数
    • 语法帮助
      • DML
        • INSERT
        • ROUTINE-LOAD
        • RESTORE
        • SELECT-INTO-OUTFILE
        • ALTER-ROUTINE-LOAD
        • BROKER-LOAD
        • BACKUP
        • EXPORT
        • STREAM-LOAD
      • DDL
        • CREATE-FILE
        • DROP-RESOURCE
        • CREATE-RESOURCE
        • CREATE-MATERIALIZED-VIEW
        • DROP-RESROUCE
        • CREATE-TABLE
        • DROP-REPOSITORY
        • CREATE-REPOSITORY
        • CREATE-ODBC-TABLE
      • 信息查看语句
        • SHOW-BACKUP
        • SHOW-ALTER-TABLE-MATERIALIZED-VIEW
        • SHOW-SNAPSHOT
        • SHOW-ROUTINE-LOAD
        • SHOW-CREATE-ROUTINE-LOAD
        • SHOW-ROLES
        • SHOW-GRANTS
        • SHOW-EXPORT
        • SHOW-ROUTINE-LOAD-TASK
        • SHOW-REPOSITORIES
        • SHOW-LOAD
        • SHOW-RESOURCES
        • SHOW-RESTORE
        • SHOW-PROPERTY
        • SHOW-FILE
      • 辅助命令
        • PAUSE-ROUTINE-LOAD
        • STOP-ROUTINE-LOAD
        • ALTER-ROUTINE-LOAD
        • CANCEL-LOAD
        • RESUME-ROUTINE-LOAD
      • 账户管理
        • SET-PROPERTY
        • REVOKE
        • GRANT
        • CREATE-ROLE
        • DROP-ROLE
        • CREATE-USER
        • DROP-USER
        • SET-PASSWORD
  • 快速入门
    • 快速上手
    • 存算分离
    • 存算一体
  • 典型实践
    • 如何开启Debug日志
    • 导入分析
    • 查询分析
  • 操作手册
    • 权限和子用户
    • 存算一体
      • 连接集群
      • 查询分析
      • 监控告警
        • 监控指标
        • 告警配置
      • 备份恢复
        • 通过管理页面备份与恢复
        • 备份与恢复
      • 权限管理
        • 集群权限
        • 控制台权限
      • 集群管理
        • 集群创建
        • 停止与删除
        • 重置管理员密码
        • 集群扩缩容
        • 集群详情
    • 存算分离
      • 连接集群
      • 计算组管理
        • 重启计算组
        • 创建计算组
      • 监控告警
        • 监控指标
        • 告警配置
      • 权限管理
        • 集群权限
        • 控制台权限
      • 集群管理
        • 停止与删除
        • 创建集群
        • 重置管理员密码
        • 集群详情
  • 服务等级协议SLA
    • 服务等级协议(SLA)v1.0
  • 产品概述
    • 系统架构
    • 产品特点
    • 产品介绍
  • 视频专区
    • 操作指南
    • 产品简介
  • 产品定价
    • 预付费
    • 计费说明
    • 后付费
所有文档
menu
没有找到结果,请重新输入

数据仓库 PALO

  • 功能发布记录
  • 操作手册1
    • LDAP认证
    • 时区
    • 使用S3-SDK访问对象存储
    • 权限管理
    • 物化视图
    • 变量
    • 资源管理
    • 数据更新与删除
      • 标记删除
      • Sequence-Column
      • 数据更新
      • 数据删除
    • 备份与恢复
      • 备份与恢复
    • 数据导出1
      • SELECT INTO OUTFILE
      • MySQL Dump
      • 数据导出概述
      • Export
    • 数据导出
      • 全量数据导出
      • 导出查询结果集
      • 导出总览
      • 导出数据到外部表
    • 查询加速1
      • 查询缓存
      • 物化视图
        • 同步物化视图
        • 物化视图概览
        • 异步物化视图
          • 异步物化视图常见问题
          • 最佳实践
          • 异步物化视图概述
          • 创建、查询与维护异步物化视图
    • 数据导入
      • JSON格式数据导入说明
      • 导入本地数据
      • 导入BOS中的数据
      • 导入事务和原子性
      • 通过外部表同步数据
      • 使用JDBC同步数据
      • 列的映射、转换与过滤
      • 订阅Kafka日志
      • 严格模式
      • 导入总览
    • 数据更新与删除1
      • 事务
      • 数据更新
        • 主键模型的导入更新
        • 主键模型的 Update 更新
        • 数据更新概述
        • 主键模型的更新并发控制
        • 聚合模型的导入更新
      • 数据删除
        • 删除操作概述
        • Truncate 操作
        • 表原子替换
        • Delete 操作
        • 基于导入的批量删除
        • 临时分区
    • 数据导入1
      • 高并发导入优化(Group Commit)
      • 导入概览
      • 异常数据处理
      • 导入高可用性
      • 导入时实现数据转换
      • 数据源
        • Kafka
        • S3 兼容存储
        • 从其他 TP 系统迁移数据
        • HDFS
        • 从其他 AP 系统迁移数据
        • Flink
        • 本地文件
      • 导入方式
        • Broker Load
        • MySQL Load
        • Insert Into Values
        • Stream Load
        • Insert Into Select
        • Routine Load
      • 文件格式
        • CSV
        • JSON
        • Parquet
        • ORC
      • 复杂数据类型
        • MAP
        • Variant
        • JSON
        • STRUCT
        • Bitmap
        • HLL
        • ARRAY
  • 开发指南
    • 迁移ClickHouse数据
    • Doris集群间数据迁移
    • 数据更新与删除
      • 事务
      • 数据更新
        • 主键模型的导入更新
        • 主键模型的 Update 更新
        • 数据更新概述
        • 主键模型的更新并发控制
        • 聚合模型的导入更新
      • 数据删除
        • 删除操作概述
        • Truncate 操作
        • 表原子替换
        • Delete 操作
        • 基于导入的批量删除
        • 临时分区
    • 查询加速
      • 查询缓存
      • Colocation Join
      • 高并发点查
      • Hint
        • Hint 概述
        • Leading Hint
        • Distribute Hint
      • 物化视图
        • 同步物化视图
        • 物化视图概览
        • 异步物化视图
          • 异步物化视图常见问题
          • 最佳实践
          • 异步物化视图概述
          • 创建、查询与维护异步物化视图
      • 高效去重
        • BITMAP 精准去重
        • HLL 近似去重
      • 优化技术原理
        • TOPN 查询优化
        • 统计信息
        • Pipeline 执行引擎
        • 查询优化器介绍
        • Runtime Filter
      • 查询调优概述
        • 调优概述
        • 诊断工具
        • 分析工具
        • 调优流程
      • 查询优化实践
        • 常见调优参数
        • 计划调优
          • 使用 Hint 控制代价改写
          • 使用异步物化视图透明改写
          • 使用 Leading Hint 控制 Join 顺序
          • 优化表 Schema 设计
          • 使用分区裁剪优化扫表
          • 优化索引设计和使用
          • 使用 Hint 调整 Join Shuffle 方式
          • DML 计划调优
          • 使用 Colocate Group 优化 Join
          • 使用同步物化视图透明改写
          • 使用 SQL Cache 加速查询
        • 执行调优
          • 数据倾斜处理
          • RuntimeFilter 的等待时间调整
          • 并行度调优
    • 数据查询
      • 连接(JOIN)
      • 子查询
      • 复杂类型查询
      • 列转行 (Lateral View)
      • MySQL 兼容性
      • 聚合多维分析
      • 分析函数(窗口函数)
      • 公用表表达式(CTE)
      • 自定义函数
        • 别名函数
        • Java UDF, UDAF, UDTF
    • 数据导出
      • SELECT INTO OUTFILE
      • MySQL Dump
      • 最佳实践
      • 数据导出概述
      • Export
    • 数据导入
      • 高并发导入优化(Group Commit)
      • 异常数据处理
      • 导入高可用性
      • 导入时实现数据转换
      • 导入最佳实践
      • 数据源
        • Kafka
        • Snowflake
        • S3 兼容存储
        • Google Cloud Storage
        • 从其他 TP 系统迁移数据
        • Azure Storage
        • 腾讯云 COS
        • MinIO
        • HDFS
        • 阿里云 OSS
        • 华为云 OBS
        • 从其他 AP 系统迁移数据
        • Flink
        • Redshift
        • Amazon S3
        • 本地文件
        • BigQuery
      • 导入方式
        • Broker Load
        • MySQL Load
        • Insert Into Values
        • Stream Load
        • Insert Into Select
        • Routine Load
      • 文件格式
        • CSV
        • JSON
        • Parquet
        • ORC
      • 复杂数据类型
        • MAP
        • Variant
        • JSON
        • STRUCT
        • Bitmap
        • HLL
        • ARRAY
    • BI工具接入
      • Sugar
      • Navicat
      • Tableau
      • DBeaver
      • 永洪BI
      • FineBI(帆软)
    • 数据库连接
      • 通过 MySQL 协议连接
      • 基于 Arrow Flight SQL 的高速数据传输链路
    • 湖仓一体
      • 分析 S3或HDFS 上的文件
      • 湖仓一体概述
      • SQL 方言兼容
      • 弹性计算节点
      • 云服务认证接入
      • 元数据缓存
      • 外表统计信息
      • 数据缓存
      • 数据库分析
        • MySQL
        • JDBC Catalog
        • Oracle
        • OceanBase
        • SAP HANA
        • 阿里云 MaxCompute
        • ClickHouse
        • PostgreSQL
        • IBM Db2
        • SQL Server
        • Elasticsearch
      • 湖仓一体最佳实践
        • 使用 PALO 和 Paimon
        • 使用 PALO 和 Iceberg
        • 使用 PALO 和 Hudi
        • 使用 PALO 和 LakeSoul
      • 数据湖构建
        • Iceberg
        • Hive
      • 数据湖分析
        • Hudi Catalog
        • 阿里云 DLF
        • Iceberg Catalog
        • Paimon Catalog
        • Hive Catalog
    • 数据表设计
      • 行业混存
      • 数据压缩
      • Schema 变更
      • 数据类型
      • 自增列
      • 概览
      • 数据库建表最佳实践
      • 冷热数据分层
        • SSD 和 HDD 层级存储
        • 远程存储
        • 冷热数据分层概述
      • 表索引
        • 倒排索引
        • 前缀索引与排序键
        • N-Gram 索引
        • BloomFilter 索引
        • 索引概述
      • 数据划分
        • 数据分桶
        • 数据分布概念
        • 动态分区
        • 自动分区
        • 手动分区
        • 常见文档
      • 数据模型
        • 使用注意
        • 模型概述
        • 主键模型
        • 明细模型
        • 聚合模型
  • 版本发布历史
    • 百度数据仓库 Palo 2.0 版本全新发布
  • SQL手册
    • 字面常量
    • 别名
    • SQL-手册
    • 数据类型
    • SQL语句
    • 注释
    • 内置函数
    • 白名单管理
    • SQL操作符
    • 内置函数
      • 聚合函数
      • 位操作函数
      • 字符串函数
      • 条件函数
      • 数学函数
      • JSON解析函数
      • 类型转换函数
      • 格式转换函数
      • 通用函数
      • 时间和日期函数
      • BITMAP函数
      • 窗口函数
      • 哈希函数
      • HLL函数
    • 语法帮助
      • DML
        • INSERT
        • ROUTINE-LOAD
        • RESTORE
        • SELECT-INTO-OUTFILE
        • ALTER-ROUTINE-LOAD
        • BROKER-LOAD
        • BACKUP
        • EXPORT
        • STREAM-LOAD
      • DDL
        • CREATE-FILE
        • DROP-RESOURCE
        • CREATE-RESOURCE
        • CREATE-MATERIALIZED-VIEW
        • DROP-RESROUCE
        • CREATE-TABLE
        • DROP-REPOSITORY
        • CREATE-REPOSITORY
        • CREATE-ODBC-TABLE
      • 信息查看语句
        • SHOW-BACKUP
        • SHOW-ALTER-TABLE-MATERIALIZED-VIEW
        • SHOW-SNAPSHOT
        • SHOW-ROUTINE-LOAD
        • SHOW-CREATE-ROUTINE-LOAD
        • SHOW-ROLES
        • SHOW-GRANTS
        • SHOW-EXPORT
        • SHOW-ROUTINE-LOAD-TASK
        • SHOW-REPOSITORIES
        • SHOW-LOAD
        • SHOW-RESOURCES
        • SHOW-RESTORE
        • SHOW-PROPERTY
        • SHOW-FILE
      • 辅助命令
        • PAUSE-ROUTINE-LOAD
        • STOP-ROUTINE-LOAD
        • ALTER-ROUTINE-LOAD
        • CANCEL-LOAD
        • RESUME-ROUTINE-LOAD
      • 账户管理
        • SET-PROPERTY
        • REVOKE
        • GRANT
        • CREATE-ROLE
        • DROP-ROLE
        • CREATE-USER
        • DROP-USER
        • SET-PASSWORD
  • 快速入门
    • 快速上手
    • 存算分离
    • 存算一体
  • 典型实践
    • 如何开启Debug日志
    • 导入分析
    • 查询分析
  • 操作手册
    • 权限和子用户
    • 存算一体
      • 连接集群
      • 查询分析
      • 监控告警
        • 监控指标
        • 告警配置
      • 备份恢复
        • 通过管理页面备份与恢复
        • 备份与恢复
      • 权限管理
        • 集群权限
        • 控制台权限
      • 集群管理
        • 集群创建
        • 停止与删除
        • 重置管理员密码
        • 集群扩缩容
        • 集群详情
    • 存算分离
      • 连接集群
      • 计算组管理
        • 重启计算组
        • 创建计算组
      • 监控告警
        • 监控指标
        • 告警配置
      • 权限管理
        • 集群权限
        • 控制台权限
      • 集群管理
        • 停止与删除
        • 创建集群
        • 重置管理员密码
        • 集群详情
  • 服务等级协议SLA
    • 服务等级协议(SLA)v1.0
  • 产品概述
    • 系统架构
    • 产品特点
    • 产品介绍
  • 视频专区
    • 操作指南
    • 产品简介
  • 产品定价
    • 预付费
    • 计费说明
    • 后付费
  • 文档中心
  • arrow
  • 数据仓库PALO
  • arrow
  • SQL手册
  • arrow
  • 内置函数
  • arrow
  • BITMAP函数
本页目录
  • TO_BITMAP
  • Description
  • Example
  • Keywords
  • BITMAP_HASH
  • Description
  • Example
  • Keywords
  • BITMAP_COUNT
  • Description
  • Example
  • Keywords
  • BITMAP_EMPTY
  • Description
  • Example
  • Keywords
  • BITMAP_OR
  • Description
  • Example
  • Keywords
  • BITMAP_AND
  • Description
  • Example
  • Keywords
  • BITMAP_XOR
  • Description
  • Example
  • Keywords
  • BITMAP_TO_STRING
  • Description
  • Example
  • Keywords
  • BITMAP_FROM_STRING
  • Description
  • Example
  • Keywords
  • BITMAP_CONTAINS
  • Description
  • Example
  • Keywords
  • BITMAP_MIN
  • Description
  • Example
  • Keywords
  • BITMAP_NOT
  • Description
  • Example
  • Keywords
  • BITMAP_HAS_ANY
  • Description
  • Example
  • Keywords
  • BITMAP_UNION
  • Description
  • Example
  • Keywords
  • BITMAP_UNION_INT
  • Description
  • Example
  • Keywords
  • BITMAP_UNION_COUNT
  • Description
  • Example
  • Keywords
  • BITMAP_INTERSECT
  • Description
  • Example
  • Keywords
  • INTERSECT_COUNT
  • Description
  • Example
  • Keywords

BITMAP函数

更新时间:2025-08-21

本文档主要介绍和 BITMAP 类型相关的内置函数。

  • 标量函数

    1.to_bitmap
    2.bitmap_hash
    3.bitmap_count
    4.bitmap_empty
    5.bitmap_or
    6.bitmap_and
    7.bitmap_xor
    8.bitmap_to_string
    9.bitmap_from_string
    10.bitmap_contains
    11.bitmap_has_any
    12.bitmap_min
    13.bitmap_not

  • 聚合函数

    1.bitmap_union
    2.bitmap_union_int
    3.bitmap_union_count
    4.bitmap_intersect
    5.intersect_count

TO_BITMAP

Description

SQL
1BITMAP to_bitmap(int i)
  • 功能:将一个整型转换为一个 BITMAP 类型。最大支持 BIGINT 类型。多用于导入时,将源数据中的整型列映射到 PALO 表中的 BITMAP 列。
  • 返回值:BITMAP 类型

Example

SQL
1mysql> select bitmap_to_string(to_bitmap("123"));
2+------------------------------------+
3| bitmap_to_string(to_bitmap('123')) |
4+------------------------------------+
5| 123                                |
6+------------------------------------+
7
8mysql> select bitmap_to_string(to_bitmap(1));
9+--------------------------------+
10| bitmap_to_string(to_bitmap(1)) |
11+--------------------------------+
12| 1                              |
13+--------------------------------+

因为 BITMAP 类型本身为二进制类型,无法在 MySQL 客户端展示。所以这里使用 bitmap_to_string 对结果进行可视化展示。

Keywords

Plain Text
1to_bitmap, bitmap

BITMAP_HASH

Description

SQL
1BITMAP bitmap_hash(string s)
  • 功能:将一个字符串通过 Hash 算法映射为32位整型,然后再转换为 BITMAP 类型。多用于导入时,将源数据中的非整型列映射到 PALO 表中的 BITMAP 列。因为采用 Hash 算法,所以可能会产生 Hash 冲突。即不同的字符串可能产生相同的 BITMAP 值。所以只能用于近似计算。
  • 返回值:BITMAP 类型

Example

SQL
1mysql> select bitmap_to_string(bitmap_hash("abc"));
2+--------------------------------------+
3| bitmap_to_string(bitmap_hash('abc')) |
4+--------------------------------------+
5| 3409700625                           |
6+--------------------------------------+

Keywords

Plain Text
1bitmap_hash, bitmap

BITMAP_COUNT

Description

SQL
1bigint bitmap_count(bitmap s)
  • 功能:计算一个 BITMAP 中 1 的个数。
  • 返回值:bigint 类型。

Example

SQL
1mysql> select bitmap_count(bitmap_from_string("1,2,3"));
2+-------------------------------------------+
3| bitmap_count(bitmap_from_string('1,2,3')) |
4+-------------------------------------------+
5|                                         3 |
6+-------------------------------------------+
7
8mysql> select bitmap_count(bitmap_from_string("1,2,3,4"));
9+---------------------------------------------+
10| bitmap_count(bitmap_from_string('1,2,3,4')) |
11+---------------------------------------------+
12|                                           4 |
13+---------------------------------------------+

Keywords

Plain Text
1bitmap_count, bitmap

BITMAP_EMPTY

Description

SQL
1bitmap bitmap_empty()
  • 功能:返回一个空的 BITMAP。通常用于导入时,产生一个空 bitmap。
  • 返回值:bitmap 类型。

Example

SQL
1mysql> select bitmap_to_string(bitmap_empty());
2+----------------------------------+
3| bitmap_to_string(bitmap_empty()) |
4+----------------------------------+
5|                                  |
6+----------------------------------+

Keywords

Plain Text
1bitmap_empty, bitmap

BITMAP_OR

Description

SQL
1bitmap bitmap_or(bitmap a, bitmap b)
  • 功能:返回两个 bitmap 的并集。
  • 返回值:bitmap 类型。

Example

SQL
1mysql> select bitmap_to_string(bitmap_or(bitmap_from_string("1,2,3,4"), bitmap_from_string("4,5,6")));
2+-----------------------------------------------------------------------------------------+
3| bitmap_to_string(bitmap_or(bitmap_from_string('1,2,3,4'), bitmap_from_string('4,5,6'))) |
4+-----------------------------------------------------------------------------------------+
5| 1,2,3,4,5,6                                                                             |
6+-----------------------------------------------------------------------------------------+

Keywords

Plain Text
1bitmap_or, bitmap

BITMAP_AND

Description

SQL
1bitmap bitmap_and(bitmap a, bitmap b)
  • 功能:返回两个 bitmap 的交集。
  • 返回值:bitmap 类型。

Example

SQL
1mysql> select bitmap_to_string(bitmap_and(bitmap_from_string("1,2,3,4"), bitmap_from_string("4,5,6")));
2+------------------------------------------------------------------------------------------+
3| bitmap_to_string(bitmap_and(bitmap_from_string('1,2,3,4'), bitmap_from_string('4,5,6'))) |
4+------------------------------------------------------------------------------------------+
5| 4                                                                                        |
6+------------------------------------------------------------------------------------------+

Keywords

Plain Text
1bitmap_and, bitmap

BITMAP_XOR

Description

SQL
1bitmap bitmap_xor(bitmap a, bitmap b)
  • 功能:返回两个 bitmap 异或的结果。
  • 返回值:bitmap 类型。

Example

SQL
1mysql> select bitmap_to_string(bitmap_xor(bitmap_from_string("1,2,3,4"), bitmap_from_string("4,5,6")));
2+------------------------------------------------------------------------------------------+
3| bitmap_to_string(bitmap_and(bitmap_from_string('1,2,3,4'), bitmap_from_string('4,5,6'))) |
4+------------------------------------------------------------------------------------------+
5| 1,2,3,5,6                                                                                |
6+------------------------------------------------------------------------------------------+

Keywords

Plain Text
1bitmap_xor, bitmap

BITMAP_TO_STRING

Description

SQL
1string bitmap_to_string(bitmap a)
  • 功能:以字符串的形式返回一个 bitmap 的内容。如一个 bitmap的第1位,第3位为1,则返回 1,3。
  • 返回值:字符串。

Example

SQL
1mysql> select bitmap_to_string(bitmap_from_string("4,5,6"));
2+-----------------------------------------------+
3| bitmap_to_string(bitmap_from_string('4,5,6')) |
4+-----------------------------------------------+
5| 4,5,6                                         |
6+-----------------------------------------------+

Keywords

Plain Text
1bitmap_to_string, bitmap

BITMAP_FROM_STRING

Description

SQL
1bitmap bitmap_from_string(string a)
  • 功能:解析一个字符串,并返回一个 bitmap。字符串是以逗号分隔的数值列表,如:1,200,301
  • 返回值:bitmap 类型。

Example

SQL
1mysql> select bitmap_to_string(bitmap_from_string("4, 5, 6"));
2+-----------------------------------------------+
3| bitmap_to_string(bitmap_from_string('4,5,6')) |
4+-----------------------------------------------+
5| 4,5,6                                         |
6+-----------------------------------------------+

Keywords

Plain Text
1bitmap_from_string, bitmap

BITMAP_CONTAINS

Description

SQL
1boolean bitmap_contains(bitmap a, bigint b)
  • 功能:判断一个bitmap中是否包含指定的数值。
  • 返回值:bool 类型。

Example

SQL
1mysql> select bitmap_contains(bitmap_from_string("4, 5 ,6"), 4);
2+---------------------------------------------------+
3| bitmap_contains(bitmap_from_string('4, 5 ,6'), 4) |
4+---------------------------------------------------+
5|                                                 1 |
6+---------------------------------------------------+
7
8mysql> select bitmap_contains(bitmap_from_string("4, 5 ,6"), 7);
9+---------------------------------------------------+
10| bitmap_contains(bitmap_from_string('4, 5 ,6'), 7) |
11+---------------------------------------------------+
12|                                                 0 |
13+---------------------------------------------------+

Keywords

Plain Text
1bitmap_contains, bitmap

BITMAP_MIN

Description

SQL
1BIGINT BITMAP_MIN(BITMAP input)
  • 功能:计算并返回 bitmap 中的最小值.
  • 返回值:int类型。

Example

SQL
1mysql> select bitmap_min(bitmap_from_string('')) value;
2+-------+
3| value |
4+-------+
5|  NULL |
6+-------+
7
8mysql> select bitmap_min(bitmap_from_string('1,9999999999')) value;
9+-------+
10| value |
11+-------+
12|     1 |
13+-------+

Keywords

Plain Text
1BITMAP_MIN,BITMAP

BITMAP_NOT

Description

SQL
1BITMAP BITMAP_NOT(BITMAP lhs, BITMAP rhs)
  • 功能:计算lhs减去rhs之后的集合,返回新的bitmap.
  • 返回值:int 类型。

Example

SQL
1mysql> select bitmap_count(bitmap_not(bitmap_from_string('2,3'),bitmap_from_string('1,2,3,4'))) cnt;
2+------+
3| cnt  |
4+------+
5|    0 |
6+------+
7
8mysql> select bitmap_to_string(bitmap_not(bitmap_from_string('2,3,5'),bitmap_from_string('1,2,3,4')));
9+----------------------------------------------------------------------------------------+
10| bitmap_to_string(bitmap_xor(bitmap_from_string('2,3,5'), bitmap_from_string('1,2,3,4'))) |
11+----------------------------------------------------------------------------------------+
12| 5                                                                                      |
13+----------------------------------------------------------------------------------------+

Keywords

Plain Text
1BITMAP_NOT,BITMAP

BITMAP_HAS_ANY

Description

SQL
1boolean bitmap_has_any(bitmap a, bitmap b)
  • 功能:判断两个bitmap是否有交集。
  • 返回值:bool 类型。

Example

SQL
1mysql> select bitmap_has_any(bitmap_from_string("1,2,3,4"), bitmap_from_string("4,5,6"));
2+----------------------------------------------------------------------------+
3| bitmap_has_any(bitmap_from_string('1,2,3,4'), bitmap_from_string('4,5,6')) |
4+----------------------------------------------------------------------------+
5|                                                                          1 |
6+----------------------------------------------------------------------------+
7
8mysql> select bitmap_has_any(bitmap_from_string("1,2,3"), bitmap_from_string("4,5,6"));
9+--------------------------------------------------------------------------+
10| bitmap_has_any(bitmap_from_string('1,2,3'), bitmap_from_string('4,5,6')) |
11+--------------------------------------------------------------------------+
12|                                                                        0 |
13+--------------------------------------------------------------------------+

Keywords

Plain Text
1bitmap_has_any, bitmap

BITMAP_UNION

Description

SQL
1bitmap bitmap_union(bitmap a)
  • 功能:聚合函数,返回一组bitmap的并集。
  • 返回值:bitmap 类型。

Example

SQL
1mysql> select k1, bitmap_to_string(bitmap_union(v1)) from tbl1 group by k1;
2+------+--------------------------------------+
3| k1   | bitmap_to_string(bitmap_union(`v1`)) |
4+------+--------------------------------------+
5|    2 | 2,3,4                                |
6|    1 | 1,2,3                                |
7+------+--------------------------------------+

Keywords

Plain Text
1bitmap_union, bitmap

BITMAP_UNION_INT

Description

SQL
1bigint bitmap_union_int(int a)
  • 功能:聚合函数,利用 bitmap 数据结构计算整型列的去重值。等价于 count(distinct a)。其中参数类型支持 TINYINT、SMALLINT、INT、BIGINT。该函数可以利用 bitmap 数据结构,使用更少的系统资源得到去重值。
  • 返回值:bigint 类型。

Example

SQL
1mysql> select bitmap_union_int(k1) from tbl1;
2+------------------------+
3| bitmap_union_int(`k1`) |
4+------------------------+
5|                      2 |
6+------------------------+

Keywords

Plain Text
1bitmap_union_int, bitmap

BITMAP_UNION_COUNT

Description

SQL
1bigint bitmap_union_count(bitmap a)
  • 功能:聚合函数,返回一组bitmap的并集结果中,1的个数。等价于:bitmap_count(bitmap_union(a))。推荐直接使用 bitmap_union_count`,效率更高。
  • 返回值:bigint 类型。

Example

SQL
1mysql> select k1, bitmap_union_count(v1) from tbl1 group by k1;
2+------+--------------------------+
3| k1   | bitmap_union_count(`v1`) |
4+------+--------------------------+
5|    2 |                        3 |
6|    1 |                        3 |
7+------+--------------------------+

Keywords

Plain Text
1bitmap_union, bitmap

BITMAP_INTERSECT

Description

SQL
1bitmap bitmap_intersect(bitmap a)
  • 功能:聚合函数,返回一组bitmap的交集。
  • 返回值:bitmap 类型。

该聚合函数的功能对应于 bitmap_union。但是用场景上和 bitmap_union 稍有不同。

因为目前 PALO 在建表时,对于 bitmap 类型的列,必须指定 bitmap_union 聚合方式(注意这里指的是聚合方式,而非聚合函数)。而聚合方式必须是用等价的聚合函数查询才有实际意义。因此对于 bitmap 类型的列,如下查询是有意义的:

SQL
1select k1, bitmap_union(v1) from tbl group by k1;

而如下查询是无意义的:

SQL
1select k1, bitmap_intersect(v1) from tbl group by k1;

bitmap_intersect 的具体使用方式见示例。

Example

表结构如下:

Plain Text
1k1  INT
2v1  BITMAP  BITMAP_UNION

查询时,需要先通过 bitmap_union 使用子查询将数据进行聚合后,在再外层通过 bitmap_intersect 求交集:

SQL
1mysql> select bitmap_to_string(bitmap_intersect(x)) from (select k1, bitmap_union(v1) x from tbl1 group by k1) a;
2+-----------------------------------------+
3| bitmap_to_string(bitmap_intersect(`x`)) |
4+-----------------------------------------+
5| 2,3                                     |
6+-----------------------------------------+

Keywords

Plain Text
1bitmap_intersect, bitmap

INTERSECT_COUNT

Description

SQL
1bigint intersect_count(bitmap a, column c, type cond1[, type cond2, ...])
  • 功能:

    该函数通常用于计算留存等业务场景。第一个参数为要进行留存计算的 bitmap 列。第二个参数为需要进行交集计算的列名。之后的变长参数为第二个参数对应列的一组取值。

    该函数类似一个语法糖,相当于组合了以下函数:

    bitmap_count + bitmap_intersect + bitmap_union + where

  • 返回值:bigint 类型。

Example

计算 2020-10-01 和 2020-10-02 两天的用户留存。表结构如下:

Plain Text
1dt      DATETIME
2user_id BITMAP
SQL
1mysql>  select intersect_count(user_id, dt, '2020-10-01', '2020-10-02'), intersect_count(user_id, dt, '2020-10-01') from tbl where dt in ('2020-10-01', '2020-10-02');
2+--------------------------------------------------------------+------------------------------------------------+
3| intersect_count(`user_id`, `dt`, '2020-10-01', '2020-10-02') | intersect_count(`user_id`, `dt`, '2020-10-01') |
4+--------------------------------------------------------------+------------------------------------------------+
5|                                                            3 |                                              7 |
6+--------------------------------------------------------------+------------------------------------------------+

以上结果表示,2020-10-01 的访客数量为 7,而这些访客在 2020-10-02 再次访问的数量为 3。

其中 intersect_count(user_id, dt, '2020-10-01', '2020-10-02') 等价于如下语句:

SQL
1select bitmap_count(bitmap_intersect(b))
2from 
3(
4    select dt, bitmap_union(user_id) b from tbl2 
5    where dt in ('2020-10-01', '2020-10-02')
6    group by dt
7) t2

Keywords

Plain Text
1intersect_count, bitmap

上一篇
时间和日期函数
下一篇
窗口函数