4. ClickHouse在苏宁用户画像场景的实践
60 时长 结论: • 整形值精确去重场景,groupBitmap 比 uniqExact至少快 2x+ • groupBitmap仅支持整形值去重, uniqExact支持任意类型去重。 • 非精确去重场景,uniq在精准度上有优势。 5 0.25 0.46 0.29 0 0 0 0.05 0.1 0.15 0.2 0.25 int),两者之间是Key-Value的 关系。高16位存到short[] keys,通过高16位(Key)找到所对应Container,然后把剩余的低 16位(Value)放入该Container中,RoaringBitmap有三类Container: Array Container Run Container Bitmap Container 10 RoaringBitmap原理介绍 Bitmap Container 0 1 1 0 ① ② ③ ④ ClickHouse集成RoaringBitmap Bitmap字段类型,该类型扩展自AggregateFunction类型,字段类型定义: AggregateFunction( groupBitmap, UInt(8|16|32|64)) 参考: https://clickhouse.y0 码力 | 32 页 | 1.47 MB | 1 年前32. ClickHouse MergeTree原理解析-朱凯
一张 数据表最终的性格,它拥有何种特性、数据以何种形式被存储以及如何被加载。 ClickHouse拥有非常庞大的表引擎体系,截至到目前(19.14.6),共拥有合并树、 内存、文件、接口和其他5大类20多种。 合并树 这众多的表引擎中,又属合并树(MergeTree)表引擎及其家族系列(*MergeTree)最 为强大,在生产环境绝大部分场景中都应该使用此系列的表引擎。 只有合并树系列的表 有符号整型和无符号整型),且无法转换为日期类 型YYYYMMDD格式,则直接按照该整型的字符形式 输出作为分区ID的取值。 l 使用日期类型 如果分区键取值属于日期类型,或者是能够转 换为YYYYMMDD日期格式的整型,则使用按照 YYYYMMDD日期格式化后的字符形式输出作为分区 ID的取值。 l 使用其它类型 如果分区键取值既不属于整型,也不属于日期 类型,例如String、Float等。则通过128位Hash 8192 索引数据的生成规则 依照索引粒度生成索引,紧凑存储,惜字如金。 PRIMARY KEY ID 索引的查询过程 假如现在有一份测试数据,共192行记录。其中,主键ID为String类型, ID的取值从A000、A001、A002,按顺序增长,直至A192为止。 MergeTree的索引粒度index_granularity = 3。 索引的查询过程 MergeTree会将此数0 码力 | 35 页 | 13.25 MB | 1 年前32. 腾讯 clickhouse实践 _2019丁晓坤&熊峰
Extract Data Representation 20 业务应用实践 iData 2 iData画像服务需要升级 Ø扩展性差 数据导入后结果不支持修改/追加 Ø数据类型有限 数据类型只能支持数字类型 Ø数据量有限 数据量达到10亿级以上查询效率有所降低 Ø单表计算 不能进行多表关联计算 一切以用户价值为依归 21 业务应用实践 iData 2 为什么选择ClickHouse 4亿数据下钻耗时(单机) clickhosue tgface 一切以用户价值为依归 22 业务应用实践 iData 2 • TDW HIVE SQL • 转换成拓展的列 • 嵌套数据类型 • array 数据类型 {"2000352":"2","2":"4","50":"1","26":"28","31":"42"} {"26":"16"} {"26":"32","1":"2","2000209":"1"} 31 26 1 2000209 2 4 1 28 42 16 32 2 1 一切以用户价值为依归 如何使用ClickHouse满足特殊需求 23 业务应用实践 iData 1 Map类数据处理方式 SELECT Goals.play_times_key AS key, sum(Goals.play_times_value) AS value FROM wegame ARRAY0 码力 | 26 页 | 3.58 MB | 1 年前33. 数仓ClickHouse多维分析应用实践-朱元
主题事实清单表 主题事实清单表采用引擎MergeTree. 同步策略: 每日从 oracle数据平台增量同步到ck数仓. 数 仓 建 设 – 对外数据 目前对外开放是主题事实清单表+维度表 封装成一个视图,类 似如下 数 据 展 示 + 多 维 分析 采用开源报表系统davinci 地址: https://github.com/edp963/davinci 03 1. Memory limit (for0 码力 | 14 页 | 3.03 MB | 1 年前3ClickHouse在B站海量数据场景的落地实践
Future Work Future Work v ClickHouse集群容器化,提升物理集群资源使⽤率 v ClickHouse倒排索引调研与改造,提升⽇志检索性能 v 丰富ClickHouse编码类型,拓展zorder应⽤场景,提升圈选计算性能 v ClickHouse存算分离探索,降低集群扩容成本 Q&A0 码力 | 26 页 | 2.15 MB | 1 年前32. Clickhouse玩转每天千亿数据-趣头条
我们遇到的问题 order by (timestamp, eventType) or order by (eventType, timestamp) 业务场景 1:趣头条和米读的上报数据是按照”事件类型”(eventType)进行区分 2:指标系统分”分时”和”累时”指标 3:指标的一般都是会按照eventType进行区分 select count(1) from table where dt=''0 码力 | 14 页 | 1.10 MB | 1 年前3
共 6 条
- 1