目录
本篇主要内容
一、clickhouse连续消费用户的sql分析
二、使用漏斗函数 windowFunnel,分析用户操作行为,计算转化率
clickhouse连续消费用户的sql分析
使用漏斗函数 windowFunnel,分析用户操作行为,计算转化率
本篇主要内容
一、clickhouse连续消费用户的sql分析
二、使用漏斗函数 windowFunnel,分析用户操作行为,计算转化率
clickhouse连续消费用户的sql分析
1)准备好数据 在本地 linux01 /data/user.csv
a,2017-02-05,200
a,2017-02-06,300
a,2017-02-07,200
a,2017-02-08,400
a,2017-02-10,600
b,2017-02-05,200
b,2017-02-06,300
b,2017-02-08,200
b,2017-02-09,400
b,2017-02-10,600
c,2017-01-31,200
c,2017-02-01,300
c,2017-02-02,200
c,2017-02-03,400
c,2017-02-10,600
a,2017-03-01,200
a,2017-03-02,300
a,2017-03-03,200
a,2017-03-04,400
a,2017-03-05,6002)clickhouse 中创建表 【表引擎为MergeTree ,指定主键为name,时间,排序字段为name,时间】
create table tb_shop
(name String,
ctime Date,
money Float64
)engine=MergeTree
primary key(name,ctime)
order by(name,ctime);3)导入数据
clickhouse-client -q "INSERT INTO default.tb_shop FORMAT CSV" < user.csv
也可以使用 cat user.csv | clickhouse-client -q "INSERT INTO default.tb_shop FORMAT CSV"; 导入数据
注:需要在本地linux01 /data/ 下 执行该命令
4)分组,查询每个人 对应的消费时间(数组)、编号数组
select name,
groupArray(ctime) arr,
arrayEnumerate(arr) arr2
from tb_shop
group by name;┌─name─┬─arr─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┬─arr2───────────────────┐
│ b │ ['2017-02-05','2017-02-06','2017-02-08','2017-02-09','2017-02-10'] │ [1,2,3,4,5] │
│ c │ ['2017-01-31','2017-02-01','2017-02-02','2017-02-03','2017-02-10'] │ [1,2,3,4,5] │
│ a │ ['2017-02-05','2017-02-06','2017-02-07','2017-02-08','2017-02-10','2017-03-01','2017-03-02','2017-03-03','2017-03-04','2017-03-05'] │ [1,2,3,4,5