ClickHouse 相关

ClickHouse 是分布式实时分析型列式数据库服务,查询效率数倍于传统数据仓库,适用于海量数据的实时查询分析。

Notice:

  • 操作语句需要加上ON CLUSTER default!!
  • 建表时能用数值型或日期时间型表示的字段,就不要用字符串
  • partition粒度根据业务特点决定,不宜过粗或过细。一般选择按天分区
  • 必须指定索引列,通过order by指定,一般在查询条件中经常被用来充当筛选条件的属性被纳入进来;可以是单一维度,也可以是组合维度的索引;通常需要满足高基列在前、查询频率大的在前原则;还有基数特别大的不适合做索引列,如用户表的userid字段;通常筛选后的数据满足在百万以内为最佳

e.g

CREATE TABLE ABC.abc ON CLUSTER default
(
XXXXXXX
)
ENGINE = MergeTree()
PARTITION BY (dayno,page_id,is_ad)
ORDER BY (in_ods,is_join,nature_src_key,ad_src_key,process_query,xxHash32(imei))
SAMPLE BY xxHash32(imei)

生成dataframe,保存为parquet文件

  • 不要存空值:clickhouse中存储Nullable列时需要创建一个额外的文件来存储NULL的标记,影响性能,所以在这一步可以进行空值填充,或者使用字段默认值为空
  • 如果表过大查询速度慢,可以在这一步进行采样

reference

  1. clickhouse docs:https://clickhouse.com/docs/en/
  2. 优化:clickhouse优化最佳实践(易企秀) - 简书
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值