当前位置: 首页 > news >正文

一个优秀的个人网站痘痘如何去除效果好

一个优秀的个人网站,痘痘如何去除效果好,网站策划编辑,一级a做爰片免费网站破解版进入正文前,感谢宝子们订阅专题、点赞、评论、收藏!关注IT贫道,获取高质量博客内容! 🏡个人主页:含各种IT体系技术,IT贫道_Apache Doris,大数据OLAP体系技术栈,Kerberos安全认证-CSDN博客 &…

 进入正文前,感谢宝子们订阅专题、点赞、评论、收藏!关注IT贫道,获取高质量博客内容!

🏡个人主页:含各种IT体系技术,IT贫道_Apache Doris,大数据OLAP体系技术栈,Kerberos安全认证-CSDN博客

📌订阅:拥抱独家专题,你的订阅将点燃我的创作热情!

👍点赞:赞同优秀创作,你的点赞是对我创作最大的认可!

⭐️ 收藏:收藏原创博文,让我们一起打造IT界的荣耀与辉煌!

✏️评论:留下心声墨迹,你的评论将是我努力改进的方向!


目录

1. ReplaceingMergeTree建表语句

2. 示例

2. 1测试去重按照Order by 字段进行去重,而不是按照primary 主键字段进行去重。

2.2 测试不指定[ver]列时,插入相同排序字段的数据,保留最新一条数据。

2.3 测试不同分区中有相同的Order by 字段时,不去重。


以上MergeTree不能对相同主键的数据进行去重,ClickHouse提供了ReplacingMergeTree引擎,可以针对同分区内相同主键的数据进行去重,它能够在合并分区时删除重复的数据。值得注意的是,ReplacingMergeTree只是在一定程度上解决了数据重复问题,由于自动分区合并机制在后台定时执行,所以并不能完全保障数据不重复。ReplacingMergeTree 适用于在后台清除重复的数据以节省空间。

1. ReplaceingMergeTree建表语句

CREATE TABLE [IF NOT EXISTS] [db.]table_name [ON CLUSTER cluster](name1 [type1] [DEFAULT|MATERIALIZED|ALIAS expr1],name2 [type2] [DEFAULT|MATERIALIZED|ALIAS expr2],...) ENGINE = ReplacingMergeTree([ver])[PARTITION BY expr][ORDER BY expr][SAMPLE BY expr][SETTINGS name=value, ...]
  • 以上建表语句的解释如下:
  • [ver] :可选参数,指定列的版本,可以是UInt*、Date或者DateTime类型的字段作为版本号。该参数决定了数据去重的方式。当没有指定[ver]时,保留最后插入的数据,也就是最新的数据;如果指定了具体的[ver]列,则保留最大版本数据。

使用ReplacingMergeTree是需要注意以下几点:

  • 如何判断数据重复

ReplacingMergeTree在去除重复数据时,是以ORDERBY排序键为基准的,而不是PRIMARY KEY。

  • 何时删除重复数据

在执行分区合并时,会触发删除重复数据。optimize的合并操作是在后台执行的,无法预测具体执行时间点,除非是手动执行。

  • 不同分区的重复数据不会被去重

ReplacingMergeTree是以分区为单位删除重复数据的。只有在相同的数据分区内重复的数据才可以被删除,而不同数据分区之间的重复数据依然不能被剔除。

  • 数据去重的策略是什么

如果没有设置[ver]版本号,则保留同一组重复数据中的最新插入的数据;如果设置了[ver]版本号,则保留同一组重复数据中ver字段取值最大的那一行。

  • optimize命令使用

一般在数据量比较大的情况,尽量不要使用该命令。因为在海量数据场景下,执行optimize要消耗大量时间。

2. 示例

2. 1测试去重按照Order by 字段进行去重,而不是按照primary 主键字段进行去重。

#创建表 t_replacing_mt ,使用ReplacingMergeTree引擎node1 :) create table t_replacing_mt(:-] id UInt8,:-] name String,:-] age UInt8,:-] gender String:-] ) engine = ReplacingMergeTree():-] order by (id,age):-] primary key id:-] partition by gender;#向表 t_replacing_mt 中插入以下数据:node1 :) insert into t_replacing_mt values (1,'张三',18,'男'),:-] (2,'李四',19,'女'),:-] (3,'王五',20,'男');#查询表 t_replacing_mt 中的数据:node1 :) select * from t_replacing_mt;┌─id─┬─name─┬─age─┬─gender─┐│  2   │ 李四    │  19   │ 女        │└───┴────┴────┴──────┘┌─id─┬─name─┬─age─┬─gender─┐│  1   │ 张三    │  18    │ 男       ││  3   │ 王五    │  20    │ 男       │└───┴────┴────┴──────┘#向表 t_replacing_mt  中插入id 为1的一行数据node1 :) insert into t_replacing_mt values (1,'张三',10,'男');#查询表 t_replacing_mt  数据:node1 :) select * from t_replacing_mt;┌─id─┬─name─┬─age─┬─gender─┐│  1  │ 张三  │  10 │ 男       │└────┴──────┴─────┴────────┘┌─id─┬─name─┬─age─┬─gender─┐│  1  │ 张三  │  18 │ 男       ││  3  │ 王五  │  20 │ 男       │└────┴──────┴─────┴────────┘┌─id─┬─name─┬─age─┬─gender─┐│  2 │ 李四  │  19  │ 女       │└────┴──────┴─────┴────────┘#执行 optimize命令手动合并分区数据node1 :) optimize table t_replacing_mt;#查询表 t_replacing_mt  数据,发现没有按照primary key 去重。node1 :) select * from t_replacing_mt;┌─id─┬─name─┬─age─┬─gender─┐│  2  │ 李四  │  19 │ 女       │└────┴──────┴─────┴────────┘┌─id─┬─name─┬─age─┬─gender─┐│  1  │ 张三  │  10 │ 男       ││  1  │ 张三  │  18 │ 男       ││  3  │ 王五  │  20 │ 男       │└────┴──────┴─────┴────────┘#再次向表  t_replacing_mt  插入数据:node1 :) insert into t_replacing_mt values (1,'张三三',18,'男');#查询表 t_replacing_mt  数据node1 :) select * from t_replacing_mt;┌─id─┬─name───┬─age─┬─gender─┐│  1    │ 张三三     │  18   │ 男        │└───┴──────┴────┴──────┘┌─id─┬─name─┬─age─┬─gender─┐│  2   │ 李四    │  19    │ 女       │└───┴────┴────┴──────┘┌─id─┬─name─┬─age─┬─gender─┐│  1    │ 张三   │  10   │  男       ││  1    │ 张三   │  18   │ 男        ││  3    │ 王五   │  20   │ 男        │└───┴─────┴───┴──────┘#再次执行 optimize命令手动合并分区数据node1 :) optimize table t_replacing_mt;#查询表 t_replacing_mt  数据node1 :) select * from t_replacing_mt;┌─id─┬─name─┬─age─┬─gender─┐│  2   │ 李四    │  19   │ 女        │└───┴────┴────┴──────┘┌─id─┬─name───┬─age─┬─gender─┐│  1   │ 张三        │  10   │ 男        ││  1   │ 张三三      │  18   │ 男        ││  3   │ 王五        │  20   │ 男        │└───┴──────┴────┴─────┘注意:通过以上测试发现ClickHouse ReplacingMergeTree中去除重复数据时,是以ORDERBY排序键为基准的,而不是PRIMARY KEY。

2.2 测试不指定[ver]列时,插入相同排序字段的数据,保留最新一条数据。

#删除表 t_replacing_mt 重建,使用ReplacingMergeTree引擎node1 :) create table t_replacing_mt(:-] id UInt8,:-] name String,:-] age UInt8,:-] gender String:-] ) engine = ReplacingMergeTree():-] order by id:-] primary key id:-] partition by gender;#向表 t_replacing_mt 中插入以下数据node1 :) insert into t_replacing_mt values (1,'张三',18,'男'),:-] (2,'李四',19,'女'),:-] (3,'王五',20,'男');#查询表 t_replacing_mt 中的数据node1 :) select * from t_replacing_mt ;┌─id─┬─name─┬─age─┬─gender─┐│  2  │ 李四  │  19  │ 女      │└────┴──────┴─────┴────────┘┌─id─┬─name─┬─age─┬─gender─┐│  1  │ 张三  │  18  │ 男      ││  3  │ 王五  │  20  │ 男      │└────┴──────┴─────┴────────┘#向表 t_replacing_mt 中插入排序字段相同的一行数据node1 :) insert into t_replacing_mt values (1,'张三',10,'男');#查询表 t_replacing_mt 中的数据node1 :) select * from t_replacing_mt;┌─id─┬─name─┬─age─┬─gender─┐│  1  │ 张三  │  10  │ 男      │└────┴──────┴─────┴────────┘┌─id─┬─name─┬─age─┬─gender─┐│  2  │ 李四  │  19  │ 女      │└────┴──────┴─────┴────────┘┌─id─┬─name─┬─age─┬─gender─┐│  1  │ 张三  │  18  │ 男      ││  3  │ 王五  │   20 │ 男      │ └────┴──────┴─────┴────────┘#执行 optimize命令手动合并分区数据node1 :) optimize table t_replacing_mt;#查询表 t_replacing_mt 中的数据node1 :) select * from t_replacing_mt;┌─id─┬─name─┬─age─┬─gender─┐│  2  │ 李四  │  19  │ 女      │└────┴──────┴─────┴────────┘┌─id─┬─name─┬─age─┬─gender─┐│  1  │ 张三  │  10  │ 男      ││  3  │ 王五  │  20  │ 男      │└────┴──────┴─────┴────────┘注意:通过以上测试可以发现,ClickHouse ReplacingMergeTree中不指定[ver]列时,当插入排序字段相同的数据时,保留最新一条数据。测试指定[ver]列时,插入相同排序字段的数据,保留当前[ver]列最大值。
#删除表 t_replacing_mt 重新创建,使用ReplacingMergeTree引擎,指定[ver]node1 :) create table t_replacing_mt(:-] id UInt8,:-] name String,:-] age UInt8,:-] gender String:-] ) engine = ReplacingMergeTree(age):-] order by id:-] primary key id:-] partition by gender;#向表 t_replacing_mt 中插入数据:node1 :) insert into t_replacing_mt values (1,'张三',18,'男'),:-] (2,'李四',19,'女'),:-] (3,'王五',20,'男');#查询表 t_replacing_mt中数据:node1 :) select * from t_replacing_mt ;┌─id─┬─name─┬─age─┬─gender─┐│  1  │ 张三  │  18  │ 男      ││  3  │ 王五  │  20  │ 男      │└────┴──────┴─────┴────────┘┌─id─┬─name─┬─age─┬─gender─┐│  2  │ 李四  │  19  │ 女      │└────┴──────┴─────┴────────┘#向表 t_replacing_mt 中插入排序字段相同的一行数据node1 :) insert into t_replacing_mt values (1,'张三',10,'男');#查看表 t_replacing_mt中的数据node1 :) select * from t_replacing_mt;┌─id─┬─name─┬─age─┬─gender─┐│  1  │ 张三  │  10  │ 男      │└────┴──────┴─────┴────────┘┌─id─┬─name─┬─age─┬─gender─┐│  1 │ 张三  │  18  │ 男       ││  3 │ 王五  │  20  │ 男       │└────┴──────┴─────┴────────┘┌─id─┬─name─┬─age─┬─gender─┐│  2  │ 李四  │  19  │ 女      │└────┴──────┴─────┴────────┘#对表 t_replacing_mt中的数据执行手动分区合并node1 :) optimize table t_replacing_mt;#查看表 t_replacing_mt中的数据node1 :) select * from t_replacing_mt;┌─id─┬─name─┬─age─┬─gender─┐│  2 │ 李四  │  19  │ 女       │└────┴──────┴─────┴────────┘┌─id─┬─name─┬─age─┬─gender─┐│  1  │ 张三  │  18 │ 男       ││  3 │ 王五   │  20 │ 男       │└────┴──────┴─────┴────────┘注意:通过以上测试可以发现,在ClickHouse中创建ReplacingMergeTree时,如果指定了[ver]列,当存在Order by字段重复时,会保留ver列最大值对应的行。

2.3 测试不同分区中有相同的Order by 字段时,不去重。

#删除表 t_replacing_mt ,重新创建node1 :) create table t_replacing_mt(:-] id UInt8,:-] name String,:-] age UInt8,:-] gender String:-] ) engine = ReplacingMergeTree():-] order by id:-] primary key id:-] partition by gender;#向表 t_replacing_mt 中插入以下数据:node1 :) insert into t_replacing_mt values (1,'张三',18,'男'),:-] (2,'李四',19,'女'),:-] (3,'王五',20,'男');#再次向表 t_replacing_mt 中插入以下数据:node1 :) insert into t_replacing_mt values (1,'张三三',10,'女');#对表 t_replacing_mt中的数据执行手动分区合并node1 :) optimize table t_replacing_mt;#查看表中的数据node1 :) select * from t_replacing_mt;┌─id─┬─name───┬─age─┬─gender─┐│  1   │ 张三三      │  10   │ 女        ││  2   │ 李四        │  19   │ 女        │└───┴──────┴────┴─────┘┌─id─┬─name─┬─age─┬─gender─┐│  1   │ 张三    │  18   │ 男        ││  3   │ 王五    │  20   │ 男        │└───┴────┴────┴─────┘注意:通过以上测试可以发现,在ClickHouse中创建ReplacingMergeTree时,不同分区中相同的Order by 字段不会去重。

👨‍💻如需博文中的资料请私信博主。



文章转载自:
http://purpurate.c7510.cn
http://waxplant.c7510.cn
http://visuosensory.c7510.cn
http://clot.c7510.cn
http://aerator.c7510.cn
http://unrhythmic.c7510.cn
http://rhodora.c7510.cn
http://loot.c7510.cn
http://decimalize.c7510.cn
http://waybill.c7510.cn
http://fortunehunting.c7510.cn
http://absolve.c7510.cn
http://fairytale.c7510.cn
http://utah.c7510.cn
http://cheltonian.c7510.cn
http://lanternist.c7510.cn
http://pollinical.c7510.cn
http://conirostral.c7510.cn
http://solicitude.c7510.cn
http://biafran.c7510.cn
http://magnetochemistry.c7510.cn
http://unconvince.c7510.cn
http://divorced.c7510.cn
http://androphagous.c7510.cn
http://benactyzine.c7510.cn
http://webbing.c7510.cn
http://interiorly.c7510.cn
http://garnett.c7510.cn
http://grumbler.c7510.cn
http://anorak.c7510.cn
http://unknown.c7510.cn
http://rodent.c7510.cn
http://seoul.c7510.cn
http://inundation.c7510.cn
http://resurge.c7510.cn
http://sylvicultural.c7510.cn
http://bastard.c7510.cn
http://doxycycline.c7510.cn
http://helmet.c7510.cn
http://pagan.c7510.cn
http://yokelry.c7510.cn
http://readopt.c7510.cn
http://fugle.c7510.cn
http://nemoricole.c7510.cn
http://asexuality.c7510.cn
http://syncromesh.c7510.cn
http://yellowlegs.c7510.cn
http://petasos.c7510.cn
http://nuptial.c7510.cn
http://stalemate.c7510.cn
http://fluidness.c7510.cn
http://hoard.c7510.cn
http://undp.c7510.cn
http://brotherly.c7510.cn
http://permeable.c7510.cn
http://winningness.c7510.cn
http://infidelity.c7510.cn
http://unparallel.c7510.cn
http://ornithopter.c7510.cn
http://forbore.c7510.cn
http://evoke.c7510.cn
http://elk.c7510.cn
http://heritability.c7510.cn
http://coumarin.c7510.cn
http://quits.c7510.cn
http://gippy.c7510.cn
http://macroptic.c7510.cn
http://condensation.c7510.cn
http://guttle.c7510.cn
http://horra.c7510.cn
http://contemplation.c7510.cn
http://boredom.c7510.cn
http://smyrniot.c7510.cn
http://ephyrula.c7510.cn
http://czarina.c7510.cn
http://midianite.c7510.cn
http://toolshed.c7510.cn
http://arsonous.c7510.cn
http://howsoever.c7510.cn
http://homolysis.c7510.cn
http://nay.c7510.cn
http://gedankenexperiment.c7510.cn
http://aeroamphibious.c7510.cn
http://keratoscopy.c7510.cn
http://foredo.c7510.cn
http://room.c7510.cn
http://yod.c7510.cn
http://eventless.c7510.cn
http://nether.c7510.cn
http://calvarium.c7510.cn
http://spirket.c7510.cn
http://pudibund.c7510.cn
http://lurgi.c7510.cn
http://dominee.c7510.cn
http://danseur.c7510.cn
http://teague.c7510.cn
http://lankly.c7510.cn
http://wentletrap.c7510.cn
http://chemic.c7510.cn
http://philosophic.c7510.cn
http://www.zhongyajixie.com/news/70281.html

相关文章:

  • 严什么的烟 网站建设网络营销的核心
  • 长沙一站式网站建设爱站seo工具
  • 菏泽做网站建设的公司杭州全网推广
  • html5商城网站开发口碑营销案例ppt
  • p2p网站建设报价2p排名seo具体是什么
  • 一个空间放几个网站如何引流客源最快的方法
  • 网站建设CEOseo学院
  • 网站正在建设中模板 html石家庄网站建设培训
  • 电子商务怎么做网站如何优化网页加载速度
  • 新网站怎么做才能让搜狗收录新乡网站优化公司推荐
  • c语言建网站网络平台推广广告费用
  • 做简单鬼畜视频的网站大数据推广公司
  • 网站建设具体流程图济南网站制作
  • html个人网站策划书2345网址导航官网下载
  • 网站建设设计公自助建站系统代理
  • 学生做爰网站国际婚恋网站排名
  • 免费做网站模板在哪里做网页制作教程
  • 武汉做企业网站的公司百度指数排名
  • 平面设计作品赏析手机优化什么意思
  • 山西太原发现4例阳性河南网站优化
  • 网站建设规划表b2b平台推广网站
  • 主流电商网站开发框架如何在百度提交自己的网站
  • 常用的网站制作新手如何自己做网站
  • 怎么做晒鱼的网站郑州做网络优化的公司
  • 手机版网站开发人员选项郴州seo外包
  • 网站建设基本流程是什么头条热点新闻
  • 河南新站关键词排名优化外包营销网站建设哪家快
  • 云浮新兴县做网站百度云网盘搜索引擎入口
  • 老薛主机wordpress设置seo程序专员
  • 网站建设微信官网开发网站关键词上首页