CREATE TABLE yarn_user_queue_mapping (
cluster varchar(100) NOT NULL,
user varchar(100) NOT NULL,
queue varchar(100) NOT NULL,
update_time timestamp(3) NULL DEFAULT NULL,
PRIMARY KEY (cluster,user,queue) /*T![clustered_index] CLUSTERED */
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin /*T![ttl] TTL=update_time + INTERVAL 3 DAY */ /*T![ttl] TTL_ENABLE=‘ON’ */ /*T![ttl] TTL_JOB_INTERVAL=‘24h’ */
select count() from dc_rig.yarn_user_queue_mapping;
±---------+
| count() |
±---------+
| 220 |
±---------+
数据量很小,目前ttl只有两个表另外一个和他情况一样,worker_count没有设置,应该是和tikv实例一样的
CREATE TABLE yarn_app_statistics (
appid varchar(100) NOT NULL,
cluster varchar(50) NOT NULL,
name varchar(10240) NOT NULL,
user varchar(100) NOT NULL,
queue varchar(100) NOT NULL,
state varchar(50) NOT NULL,
starttime timestamp(3) NOT NULL,
finishtime timestamp(3) NOT NULL,
finalstatus varchar(100) NOT NULL,
memoryseconds bigint NOT NULL,
vcoreseconds bigint NOT NULL,
applicationtype varchar(100) NOT NULL,
dt varchar(100) NOT NULL,
PRIMARY KEY (appid,dt) /*T![clustered_index] CLUSTERED */
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin /*T![ttl] TTL=finishtime + INTERVAL 3 DAY */ /*T![ttl] TTL_ENABLE=‘ON’ */ /*T![ttl] TTL_JOB_INTERVAL=‘24h’ */
select count() from dc_rig.yarn_app_statistics where finishtime<‘2025-09-06’;
±---------+
| count() |
±---------+
| 2618673 |
±---------+
1 row in set (1.16 sec)
mysql> select count() from dc_rig.yarn_app_statistics where date(finishtime)=‘2025-09-06’;
±---------+
| count() |
±---------+
| 170545 |
±---------+
1 row in set (1.19 sec)
这张大点的表我们尝试过手动清除历史数据,然后ttl还是没成功,超时