0
点赞
收藏
分享

微信扫一扫

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 条评论