ClickHouse使用阿里云服务相关

news2025/5/25 10:21:39

目录

  • 概念
  • 相关问题查看阿里云文档
  • ClickHouse相关
      • Clickhouse分布式表应用修改点

概念

1.阿里云架构
在这里插入图片描述
2.节点
节点是逻辑概念,其架构也说明了集群默认包含1个或多个节点,或者说是分片(shard)
节点下包含一个或者多个服务器,具体包含几个,与购买的配置有关。

例如:单副本版:指的是节点中只有一个服务器,每个节点只有1个副本,该副本服务不可用时,会导致整个集群不可用,需要等待此副本完全恢复服务状态,集群才能继续提供稳定服务。
双副本版:每个节点包含两个副本,某个副本服务不可用的时候,同一分片的另一个副本还可以继续服务。
集群下包含节点(分片),节点下包含1个或者多个副本,或者说包含一个或多个服务器。

3.多分片多副本:需要购买双副本版,选择多个节点
4. 单分片多副本:需要购买双副本版,选择一个节点
5. 多分片1副本:需要购买单副本版,选择多个节点

相关问题查看阿里云文档

https://help.aliyun.com/document_detail/162815.html?spm=a2c4g.167447.0.0.bc531a2eSXY4yo

ClickHouse相关

Clickhouse分布式表应用修改点

分布式表创建
需要先建本地表

CREATE TABLE city_local on cluster default_cluster
(
  `id` Int64,
  `city_code` Int32,
  `city_name` String,
  `total_cnt` Int64,
  `event_time` DateTime
)
Engine=ReplicatedMergeTree('/clickhouse/tables/{shard}/app/city_local', '{replica}')
PARTITION BY toYYYYMMDD(event_time)
ORDER BY id;

创建分布式表

CREATE TABLE city_all on cluster default_cluster
AS app.city_local
ENGINE = Distributed(default_cluster, app, city_local, rand());

rand()分片键可以用采用区分度较高的列的哈希值, 如sipHash64(id).
intHash64(toInt64(city_name))

表的操作
清空分布式表的数据,不会清空数据,只能通过清空本地表的方式来清空分布式表的数据

truncate table t_table_local on cluster default_cluster;

不会生效
truncate table t_table_distribute on cluster default_cluster;

drop分布式表
drop table t_table_distribure on cluster default_cluster;

修改本地表表名
修改本地表表名会更改本地系统的文件名称,但是不会更改zookeeper的路径名称,这块需要注意下。
新增分布式表的时候,只会在本地建一个空的目录,但是在zookeeper上面不会新增目录
所以可以通过rename本地表成本地表名加上local,然后建分布式表的时候直接用原先的本地表名就可以了。
SQL

RENAME TABLE test_name_local TO test_name_new on cluster default_cluster 
修改表字段
修改本地表字段字段,分布式表会跟着改变吗?分布式表字段不会跟着改变,还需要修改分布式表的字段才可以

alter table t_table_local on cluster default_cluster drop column column_code
修改分布式表字段,本地表会跟着改变吗?修改分布式表的字段,本地表也不会跟着改变,还需要修改本地表的字段

alter table t_table_distribute on cluster default_cluster drop column category_code

插入操作
插入分布式表数据会自动同步到不同的分片中

insert into city_all (id, city_code, city_name, total_cnt, event_time) 
values (1, 4000, 'guangzhou', 420000, '2022-02-21 00:00:00');

也可以通过插入不同的机器的分片来插入数据,但是需要知道不同分片的地址是啥。
insert into city_local (id, city_code, city_name, total_cnt, event_time) 
values (1, 4000, 'guangzhou', 420000, '2022-02-21 00:00:00');

删除和更新
分布式表是不支持删除和更新的,如果需要删除更新数据,是通过删除和更新本地表来进行操作的。
删除数据
ALTER TABLE app.city_local ON CLUSTER default_cluster DELETE WHERE id in (1,2);
删除分区
ALTER TABLE app.city_local ON CLUSTER default_cluster drop partition(20220222);
更新数据
ALTER TABLE app.city_local ON CLUSTER default_cluster 
update city_name ='beijing' where event_time >'2022-02-21 00:00:00';

查询操作
查询操作需要注意子查询和join操作就好,需要多加个global字段
SQLselect id,city_code from city_all where repo = 100
and id global in (select id from city_all where repo = 100)


select a.id from app.city_all a  global inner join app.city_all b on a.id = b.id 

改造点

删除或者更新数据的地方
如果是本地表只需要加on cluster default_cluster,如果是一个分片的集群也可以不加
如果是分布式表因为分布式表不支持删除,只能删除本地表所以需要在表的后缀加上  _local  并加上on cluster default_cluster
TableClusterUtil.getLocal(租户) 加表的后缀,只在更新表或者删除表的时候在表的后缀上调用这个方法。

查询的地方注意子查询和join查询 
如果是本地表不加global,分布式表注意joinin前加上global可以使用

插入的地方不需要改变

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/829733.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Java限流算法实现与应用(计数器、漏桶、令牌桶、滑动窗口)

文章目录 一、什么是限流算法二、计数器算法1、概述2、Java实现计数器算法3、优缺点4、应用 三、漏桶算法1、概述2、Java实现漏桶算法3、优缺点4、应用 四、令牌桶算法1、概述2、Java实现令牌桶算法3、应用 五、滑动窗口算法1、概述2、Java实现滑动窗口算法3、应用 参考资料 一…

MySQL 重置root 密码

5.7 版本 首先要把服务mysql57 关闭 net stop MySQL57 在安装的mysql57的程序的bin中 运行cmd(管理员运行) mysqld --defaults-file‘mysql存放数据的位置\my.ini’ --skip-grant-tables 上图 错误 注意:如果遇到mysqld: Can’t change dir…

【FAQ】视频监控EasyCVR修改参数报错“database or disk is full”排查

EasyDarwin开源流媒体视频EasyCVR安防监控平台可提供视频监控直播、云端录像、云存储、录像检索与回看、智能告警、平台级联、云台控制、语音对讲、智能分析等能力。视频监控综合管理平台EasyCVR具备视频汇聚融合能力,平台基于云边端一体化架构,具有强大…

伯俊ERP和金蝶云星空单据接口对接

伯俊ERP和金蝶云星空单据接口对接 对接源平台:金蝶云星空 金蝶K/3Cloud在总结百万家客户管理最佳实践的基础上,提供了标准的管理模式;通过标准的业务架构:多会计准则、多币别、多地点、多组织、多税制应用框架等,有效支持企业的运…

太魔幻了!计算机就业哀鸿遍野,而高考生疯狂涌向计算机专业

在张雪峰推荐的几大专业里,计算机专业是其中之一。近几年,计算机专业报考热度不减,但就业前景却令人堪忧,互联网裁员接二连三,许多码农找不到工作。 一位网友感叹:一边是计算机就业哀鸿遍野,一…

网络安全进阶学习第十一课——MySQL手工注入(2)

文章目录 一、UA注入1、原理2、靶场演示:1)一旦页面出现如下现状,就可以使用UA注入2)BP抓包3)修改User-Agent 二、referer注入1、原理2、靶场演示:1)使用BP抓包2)修改Referer 三、DN…

双比例阀控制器PVC-D2-25A-1X

两路独立工作、PQ独立控制、4/3比例方向阀控制、并联控制、输入指令0到10V输入接口,可切换为0(4)到20mA输入、工作电压DC24V、、、在放大器试运行前,应确保印刷电路板上SW 开关的功能设置符合相应的使用情况。放大器只有在断电后才可接线和改变SW 开关的…

QT - 建立页面

一、生成页面 二、实现 1.LineEdit 是一个单行输入文本框,为用户提供了比较多的编辑功能,例如选择复制、粘贴。 修改echomode属性为password Push Button(常规按钮) 三、程序 声明全局变量,属于MainWindow private: // 定义了一个指向Ma…

【ASP.NET MVC】MYSQL安装配置(4)

一、安装配置 1、下载MYSQL绿色版压缩包(略) 2、解压到目录,比如E:\mysql目录 3、设置环境变量 添加bin目录到path,方便运行Mysql的命令 先打开系统的《环境变量》配置 双击系统变量中的Path 添加Mysql的BIN目录到path: 4、在…

两个镜头、视野、分辨率不同的相机(rgb、红外)的视野校正

文章目录 背景实际效果查找资料资料1资料2 解决方案最终结果 背景 目前在做的项目用到两个摄像头,一个是热成像摄像头、另一个是普通的rgb摄像头。 一开始的目标是让他们像素级重合,使得点击rgb图像时,即可知道其像素对应的温度。但是在尝试…

GPU 容器虚拟化新能力发布和全场景实践

今天给大家分享的主题是百度智能云在「GPU 容器虚拟化」方面的最新进展和全场景实践,希望通过这次分享和大家一起探讨如何在实际业务场景更好的应用 GPU 容器虚拟化技术。 本次分享将首先介绍百度智能云 GPU 容器虚拟化 2.0 的升级变化,然后介绍新版本中…

pycharm——漏斗图

import pyecharts.options as opts from pyecharts.charts import Funnel""" Gallery 使用 pyecharts 1.1.0 参考地址: https://echarts.apache.org/examples/editor.html?cfunnel目前无法实现的功能:1、暂时无法对漏斗图的长宽等范围操作进行修改 ""…

销售管理怎么做?(企业老板销售负责人必看)

阅读本文您可以了解:1、销售管理的定义;2、销售管理的重要性;2、如何做好销售管理。 大家好,作为一名有着十年销售经验的顾问,今天就和大家聊聊怎么做好销售管理。 一、销售管理的定义 销售管理是一种组织和规划销售…

移动硬盘格式化,一招搞定!

“新买了个移动硬盘,才将一些文件保存进去。今天将移动硬盘与电脑连接后,却提示我只能将它格式化,否则无法使用。这是为什么呢?硬盘格式化怎么操作呢?” 在使用移动硬盘的时候,可能会由于各种原因&#xff…

解决码云gitee或者github出现The requested URL returned error: 403

出现场景 要把某个项目push到码云上,已经设置了仓库地址,在最后一步直接报错。 adodeMacBook-Pro:yimabao ado$ git push --set-upstream origin master remote: [session-774b45b9] Access denied fatal: unable to access https://gitee.com/mzmilk/…

构建vue项目配置和环境配置

目录 1、环境变量process.env配置2、vue package.json多环境配置vue-cli-service serve其他用法vue-cli-service build其他用法vue-cli-service inspect其他用法3、vue导出webpack配置4、配置打包压缩图片文件5、打包去掉多余css(由于依赖问题暂时未实现)6、打包去除console.…

室温超导材料技术

自 1911 年荷兰物理学家海克昂内斯(Heike Onnes)发现固态汞的超导性之后,超导现象一直都是科学家们的热门研究领域。近年来,关于超导的研究热度更是有增无减,如何实现室温常压超导已经成为物理和材料领域的重要课题。 …

「2024」预备研究生mem-论证推理强化:五大秒杀思路(下)

一、通过第三者建立联系 二、幸存者偏差 三、稀释 四、选修 练习题

导轨安装一路输入两路输出模拟信号隔离分配器0-20mA/0-±10V/0-±100mV/0-±10mA/0-±20mA

概述 导轨安装DIN12 IPO OC系列模拟信号隔离放大器是一种将输入信号隔离放大、转换成按比例输出的直流信号混合集成厚模电路。产品广泛应用在电力、远程监控、仪器仪表、医疗设备、工业自控等需要直流信号隔离测控的行业。此系列产品内部采用了线性光电隔离技术相比电磁隔离具…

Python爬虫—破解JS加密的Cookie

前言 在进行网站数据爬取时,很多网站会使用JS加密来保护Cookie的安全性,而为了防止被网站反爬虫机制识别出来,我们通常需要使用代理IP来隐藏我们的真实IP地址。 本篇文章将介绍如何结合代理IP破解JS加密的Cookie,主要包括以下几个…