Clickhouse在货品标签场景的应用

背景

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

货品标签

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

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

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

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

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

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

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

相关推荐
4t4run3 天前
1、clickhouse 安装
数据库·clickhouse
JackSparrow4144 天前
使用Elasticsearch代替数据库like以加快查询的各种技术方案+实现细节
大数据·clickhouse·elk·elasticsearch·搜索引擎·postgresql·全文检索
梦想与想象-广州大智汇11 天前
MySQL 同步数据到 ClickHouse 方案对比分析
数据库·mysql·clickhouse
Smile_25422041812 天前
clickhouse日志疯涨问题
linux·运维·服务器·clickhouse
计算机魔术师12 天前
【技术硬核 | 存储】ClickHouse 原理与 Langfuse 存储实践:当 LLM Trace 爆炸时,PG 还扛得住吗?
人工智能·clickhouse·工程实践·sbti·职场焦虑
fire-flyer15 天前
ClickHouse系列(九):慢查询、内存 OOM 与稳定性治理
android·clickhouse
fire-flyer15 天前
ClickHouse系列(十):生产架构与最佳实践总结
clickhouse·架构
fire-flyer16 天前
ClickHouse系列(八):ClickHouse 的 UPDATE / DELETE 正确姿势
大数据·数据库·clickhouse
fire-flyer16 天前
ClickHouse系列(七):Materialized View 与多分辨率 Rollup 设计
大数据·数据库·clickhouse·架构
fire-flyer17 天前
ClickHouse系列(二):MergeTree 家族详解
大数据·数据库·clickhouse