ClickHouse的执行计划以及优化策略 .pdfVIP

ClickHouse的执行计划以及优化策略 .pdf

  1. 1、本文档共15页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

ClickHouse的执⾏计划以及优化策略

执⾏计划

如果要在ClickHouse20.6版本之前查看SQL语句的执⾏计划,需要在config.xml⾥⾯将⽇志级别设置为trace。

!--新版本默认是trace--

logger

leveltrace/level

/logger

然后还要真正执⾏相应的SQL语句,在执⾏⽇志⾥⾯查看,很明显这是⾮常不⽅便的。于是ClickHouse在20.6版本⾥⾯引⼊了原⽣的执⾏计划的语法(此

时处于试⽤期阶段),并在20.6.3版本中正式转正。

我们当前系列都是基于ClickHouse的21.7.3.14版本。

然后我们来介绍如何查看执⾏计划,不过介绍之前我们先创建⼀张数据表,这次我们采⽤真实的数据。⾸先ClickHouse官⽅提供了两个数据集,其中数据⾏

数和字段数都⾮常的⼤,不亚于⼀些公司⽣产环境上的数据,我们来下载⼀下。

#下载数据集,这⾥的数据集不是CSV、JSON,⽽是.bin、.mrk等物理⽂件

#也就是说数据集本⾝就是符合ClickHouse物理存储的

curl-O

#所以我们直接解压到拷贝到/var/lib/clickhouse⽬录下即可

tar-xvfhits_v1.tar-C/var/lib/clickhouse

然后我们就可以使⽤hits_v1这张表了,我们之前说过,必须要先创建表然后再导⼊数据,因为创建表的时候会⽣成⼀些元信息,存储在

/var/lib/clickhouse/metadata⽬录下,⽽光有数据没有元信息是不⾏的。但对于当前⽽⾔则不⽤事先创建表,因为ClickHouse将元信息也准备好了,所以我

们直接拷贝过去即可。压缩包解压之后,会有⼀个data⽬录和⼀个metadata⽬录,所以我们解压到/var/lib/clickhouse中,会⾃动将data⽬录⾥⾯的内容

合并到/var/lib/clickhouse的data⽬录中,将metadata⽬录⾥⾯的内容合并到/var/lib/clickhouse的metadata⽬录中。

[root@satoridata]#ls

datasetsdefaultsystem

[root@satoridata]#lsdatasets

hits_v1

我们看到⾥⾯多了⼀个datasets⽬录,datasets⽬录下才是hits_v1,显然我们后续需要使⽤datasets.hits_v1进⾏查询。当然数据集还有⼀份,我们按照相

同的套路即可。

curl-O

tar-xvfvisits_v1.tar-C/var/lib/clickhouse

我们来确认⼀下:

[root@satoridatasets]#ls

hits_v1visits_v1

显然数据集已经准备完毕,不过我们当前使⽤的是root⽤户,还应该要确保clickhouse⽤户有相应的操作权限。

chownclickhouse:clickhouse/var/lib/clickhouse/data-R

#然后重启ClickHouse,因为我们不是通过CREATETABLE创建的表

#因此要重启,不然ClickHouse是不知道我们通过拷贝⽂件的⽅式新增了两张表

clickhouserestart

重启之后,执⾏SQL语句进⾏查看:

数据量还是不少的,datasets.hits_v1有将近900万条数据、字段数130多个,datasets.visit_v1有160多万条数据、字段数为180多个,还是很⼤的。

具体都有哪些字段,可以通过/var/lib/clickhouse/metadata/datasets下的.sql⽂件进⾏查看。

有了数据集,我们就可以介绍查询计划了。当然使⽤这种规模的数据集有些⼩题⼤做,不过既然ClickHouse是为⼤数据准备的,那么使⽤⼤⼀点的数据集也

⽆妨,⽽且我们后⾯也会经常使⽤这些数据集。

基本语法

在MySQL中查看执⾏计划使⽤的语法是什么呢?没错,EXPLAIN,在ClickHouse中也是如此,只不过ClickHouse将EXPLAIN变得更加丰富。

EXPLAN[A

文档评论(0)

190****7551 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档