Vertica删除历史分区数据
vsql -Utest -wtestpwdcreate table t_jingyu(col1 int, col2 varchar, col3 timestamp not null)PARTITION BY (date_part('doy', t_jingyu.col3));$vi /tmp/jingyu/del_part08_01-.sql
\timing
SELECT DROP_PARTITION('test.t_jingyu', EXTRACT('doy' FROM '2014-08-01'::date));
SELECT DROP_PARTITION('test.t_jingyu', EXTRACT('doy' FROM '2014-08-02'::date));
SELECT DROP_PARTITION('test.t_jingyu', EXTRACT('doy' FROM '2014-08-03'::date));
SELECT DROP_PARTITION('test.t_jingyu', EXTRACT('doy' FROM '2014-08-04'::date));
SELECT DROP_PARTITION('test.t_jingyu', EXTRACT('doy' FROM '2014-08-05'::date));
SELECT DROP_PARTITION('test.t_jingyu', EXTRACT('doy' FROM '2014-08-06'::date));
SELECT DROP_PARTITION('test.t_jingyu', EXTRACT('doy' FROM '2014-08-07'::date));
SELECT DROP_PARTITION('test.t_jingyu', EXTRACT('doy' FROM '2014-08-08'::date));
SELECT DROP_PARTITION('test.t_jingyu', EXTRACT('doy' FROM '2014-08-09'::date));
SELECT DROP_PARTITION('test.t_jingyu', EXTRACT('doy' FROM '2014-08-10'::date));
SELECT DROP_PARTITION('test.t_jingyu', EXTRACT('doy' FROM '2014-08-11'::date));
SELECT DROP_PARTITION('test.t_jingyu', EXTRACT('doy' FROM '2014-08-12'::date));
SELECT DROP_PARTITION('test.t_jingyu', EXTRACT('doy' FROM '2014-08-13'::date));
SELECT DROP_PARTITION('test.t_jingyu', EXTRACT('doy' FROM '2014-08-14'::date));
SELECT DROP_PARTITION('test.t_jingyu', EXTRACT('doy' FROM '2014-08-15'::date));
SELECT DROP_PARTITION('test.t_jingyu', EXTRACT('doy' FROM '2014-08-16'::date));
SELECT DROP_PARTITION('test.t_jingyu', EXTRACT('doy' FROM '2014-08-17'::date));
SELECT DROP_PARTITION('test.t_jingyu', EXTRACT('doy' FROM '2014-08-18'::date));
SELECT DROP_PARTITION('test.t_jingyu', EXTRACT('doy' FROM '2014-08-19'::date));
SELECT DROP_PARTITION('test.t_jingyu', EXTRACT('doy' FROM '2014-08-20'::date));
SELECT DROP_PARTITION('test.t_jingyu', EXTRACT('doy' FROM '2014-08-21'::date));
SELECT DROP_PARTITION('test.t_jingyu', EXTRACT('doy' FROM '2014-08-22'::date));
SELECT DROP_PARTITION('test.t_jingyu', EXTRACT('doy' FROM '2014-08-23'::date));
SELECT DROP_PARTITION('test.t_jingyu', EXTRACT('doy' FROM '2014-08-24'::date));
SELECT DROP_PARTITION('test.t_jingyu', EXTRACT('doy' FROM '2014-08-25'::date));
SELECT DROP_PARTITION('test.t_jingyu', EXTRACT('doy' FROM '2014-08-26'::date));
SELECT DROP_PARTITION('test.t_jingyu', EXTRACT('doy' FROM '2014-08-27'::date));
SELECT DROP_PARTITION('test.t_jingyu', EXTRACT('doy' FROM '2014-08-28'::date));
SELECT DROP_PARTITION('test.t_jingyu', EXTRACT('doy' FROM '2014-08-29'::date));
SELECT DROP_PARTITION('test.t_jingyu', EXTRACT('doy' FROM '2014-08-30'::date));
SELECT DROP_PARTITION('test.t_jingyu', EXTRACT('doy' FROM '2014-08-31'::date));
$vsql -Utest -wtestpwd -f /tmp/jingyu/del_part08_01-.sql
Timing is on.
DROP_PARTITION
-------------------
Partition dropped
(1 row) Time: First fetch (1 row): 12732.105 ms. All rows formatted: 12732.215 ms
DROP_PARTITION
-------------------
Partition dropped
(1 row) Time: First fetch (1 row): 71796.168 ms. All rows formatted: 71796.237 ms
……
Time: First fetch (1 row): 16020.296 ms. All rows formatted: 16020.362 ms
[dbadmin@Vertica01 jingyu]$
数据库表有入库时,drop历史分区会有锁等待,如下:
dbadmin=> SELECT DROP_PARTITION('test.t_jingyu', EXTRACT('doy' FROM '2014-08-04'::date));
ERROR 5157: Unavailable: [Txn 0xa000000005fb08] O lock table - timeout error Timed out O locking Table:test.t_jingyu. I held by [user dbadmin (copy test.t_jingyu(col1,col2,col3)
from '/home/dbadmin/bin/vertica97/data/t_jingyudat1411006284757/*' on any node
delimiter E'~' NULL '' NO ESCAPE DIRECT;)], I held by [user dbadmin (copy test.t_jingyu(col1,col2,col3)
from '/home/dbadmin/bin/vertica101/data/t_jingyudat1411006351418/*' on any node
delimiter E'~' NULL '' NO ESCAPE DIRECT;)]. Your current transaction isolation level is SERIALIZABLE
dbadmin=>
同时关注数据库的队列,发现同时有drop_partition和copy入库。
dbadmin=> select substr(current_statement, 1, 200), count(1)
dbadmin-> from sessions
dbadmin-> where not current_statement is null and (transaction_id, statement_id)<>(current_trans_id(), current_statement())
dbadmin-> group by 1;
substr | count
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-------
| 10
SELECT DROP_PARTITION('test.t_jingyu', EXTRACT('doy' FROM '2014-08-04'::date)); | 1
copy test.t_jingyu(col1,col2,col3) f | 1
(3 rows)
在没有copy入库时,drop_partition 大概20s内就可以删除一个历史分区(50亿左右数据量)。
Vertica删除历史分区数据的更多相关文章
- Hive批量删除历史分区
批量删除历史分区和数据可以采用如下操作: -- 删除20180101之前的所有分区 alter table example_table_name drop if exists partition (d ...
- 删除mysql数据库中表分区数据
删除mysql数据库中表分区数据 zabbix 几个大表创建了分区,由于磁盘空间告警,特将3月前的分区给予删除. 1.查看表的数据占用磁盘空间情况 2.登录mysql中,查看表的分区情况. 3.删除表 ...
- truncate删除一个分区,测试全局索引是否失效
目的,有一个清理数据的需求,需要删除历史的一个分区所有记录信息,但是存在主键global索引,如何更好的维护. 如下测试流程一 提前创建好一个已时间created 字段作为分区键的范围分区表 SQL& ...
- 教程:使用Diskpart创建、扩展或删除磁盘分区
在Windows Server环境下进行基本的磁盘操作时,管理员可以使用Disk Partition Utility或Diskpart等工具.后者是一个命令行解释器,可作为磁盘管理工具. 管理员可以使 ...
- Oracle 删除表分区
删除表分区(drop partition) 删除表分区包含两种操作,分别是: Ø 删除分区:alter table [tbname] drop partition [ptname] UPDA ...
- Kafka如何彻底删除topic及数据
前言:删除kafka topic及其数据,严格来说并不是很难的操作.但是,往往给kafka 使用者带来诸多问题.项目组之前接触过多个开发者,发现都会偶然出现无法彻底删除kafka的情况.本文总结多个删 ...
- Scrapy实战篇(五)之爬取历史天气数据
本篇文章我们以抓取历史天气数据为例,简单说明数据抓取的两种方式: 1.一般简单或者较小量的数据需求,我们以requests(selenum)+beautiful的方式抓取数据 2.当我们需要的数据量较 ...
- kafka 删除topic清空数据
原 kafka 删除topic清空数据 2018年11月20日 18:17:50 Ming! 阅读数:1391 版权声明:版权声明:本文为博主原创文章,未经博主允许不得转载. https://bl ...
- 关于diskgenius删除所有分区后,电脑不能识别U盘的问题。
楼主曾今为了将Linux系统安装至U盘中,曾无数次对U盘进行过格式化,到最后导致,u盘各种引导.系统.烂数据存在U盘,导致U盘的使用越来越不方便.后来终于下狠心,利用diskgenius对U盘进行一次 ...
随机推荐
- ExtJS 4.2 Date组件扩展:添加清除按钮
ExtJS中除了提供丰富的组件外,我们还可以扩展他的组件. 在这里,我们将在Date日期组件上添加一个[清除]按钮,用于此组件已选中值的清除. 目录 1. Date组件介绍 2. 主要代码说明 3. ...
- CENTOS 6.5 平台离线编译安装 PHP5.6.6
一.下载php源码包 http://cn2.php.net/get/php-5.6.6.tar.gz/from/this/mirror 二.编译 编译之前可能会缺少一些必要的依赖包,加载一个本地yum ...
- nodejs创建http服务器
之前有简单介绍nodejs的一篇文章(http://www.cnblogs.com/fangsmile/p/6226044.html) HTTP服务器 Node内建有一个模块,利用它可以很容易创建基本 ...
- DDD 领域驱动设计-谈谈 Repository、IUnitOfWork 和 IDbContext 的实践(3)
上一篇:<DDD 领域驱动设计-谈谈 Repository.IUnitOfWork 和 IDbContext 的实践(2)> 这篇文章主要是对 DDD.Sample 框架增加 Transa ...
- 终端mysql Operation not permitted错误解决方案
前言 前段时间装mysql,就遇到了ln: /usr/bin/mysql: Operation not permitted的错误,网上好多方法都过时了,下边是我的解决方法 原因 这是因为苹果在OS X ...
- Oracle 数据库语句大全
Oracle数据库语句大全 ORACLE支持五种类型的完整性约束 NOT NULL (非空)--防止NULL值进入指定的列,在单列基础上定义,默认情况下,ORACLE允许在任何列中有NULL值. CH ...
- C#日志
参考页面: http://www.yuanjiaocheng.net/Entity/first.html http://www.yuanjiaocheng.net/Entity/jieshao.htm ...
- python基础
内容概要: 一.python2 or python3 目前大多使用python2.7,随着时间的推移,python3将会成为python爱好者的主流. python2和3区别: 1.PRINT IS ...
- listview下拉刷新和上拉加载更多的多种实现方案
listview经常结合下来刷新和上拉加载更多使用,本文总结了三种常用到的方案分别作出说明. 方案一:添加头布局和脚布局 android系统为listview提供了addfootview ...
- ECharts数据图表系统? 5分钟上手!
目录: 前言 简介 方法一:模块化单文件引入(推荐) 方法二:标签式单文件引入 [前言] 最近在捣鼓各种插件各种框架,发现这个ECharts还是比较不错的,文档也挺全的,还是中文的,给大家推荐一下. ...