Clickhouse在货品标签场景的应用

背景

在电商场景中,我们经常需要对货品进行打标签的操作,简单来说就是对货品进行各种分类,按照价格段进行分组,此时运营人员就可以通过价格段捞取到满足条件的商品了,本文就来简单看下这个场景如何在clickhouse中实现

货品标签

1.创建一种商品的明细表,包含每个商品的各种标签属性的表:

CREATE TABLE IF NOT EXISTS merchardis_src_tbl
    mid UInt64   //商品id
    category String //商品分类
    price Int32  // 商品价格
)ENGINE = ReplicatedMergeTree

2.创建一个标签属性的位图表,表示对应标签下的商品列表

CREATE TABLE IF NOT EXISTS tag_bitmap_tbl
(
    tagname String,   --标签名称
    tagvalue String,  --标签值
    type  String //标签类型
    tagbitmap AggregateFunction(groupBitmap, UInt64 )  --mid集合
)
ENGINE = ReplicatedAggregatingMergeTree

3.从商品明细表中把数据聚合成标签后放入标签表中

-- 导入数据, 将同一个分类的所有mid使用groupBitmapState函数合并成一个bitmap
INSERT INTO tag_bitmap_tbl
SELECT category,categoryName,'商品类型' as type groupBitmapState(mid)
FROM merchardis_src_tbl
GROUP BY category,categoryName;

自此,我们就有了一张货品标签的属性表,运营就可以基于这种表进行各种查询操作了

参考:
https://bbs.huaweicloud.com/blogs/300331

相关推荐

  1. Clickhouse货品标签场景应用

    2023-12-07 00:06:01       53 阅读
  2. OLAP型数据库 ClickHouse简介 应用场景 优势 不足

    2023-12-07 00:06:01       63 阅读
  3. HTML label 标签作用和应用场景

    2023-12-07 00:06:01       24 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2023-12-07 00:06:01       91 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2023-12-07 00:06:01       97 阅读
  3. 在Django里面运行非项目文件

    2023-12-07 00:06:01       78 阅读
  4. Python语言-面向对象

    2023-12-07 00:06:01       88 阅读

热门阅读

  1. okhttp系列-enqueue过程

    2023-12-07 00:06:01       59 阅读
  2. 数据库的设计规范

    2023-12-07 00:06:01       56 阅读
  3. Spring Boot 升级3.x 指南

    2023-12-07 00:06:01       63 阅读
  4. 使用Feign简化Spring Boot微服务间的调用

    2023-12-07 00:06:01       56 阅读
  5. 【PyTorch】数据集

    2023-12-07 00:06:01       62 阅读
  6. jsp+ajax自动刷新局部页面

    2023-12-07 00:06:01       53 阅读