Hive 3.1 在 metastore 运行的 remote threads

server/2025/3/5 6:36:23/

Remote threads 是仅当 Hive metastore 作为单独的服务运行是启动,请求需要开启 compactor。

有以下几种:

1. AcidOpenTxnsCounterService 统计当前 open 的事务数

从表 TXNS 中统计状态为 open 的事务。此事务数量可以再 hive metrics 中。

2. AcidHouseKeeperService

定期调用 txnHandler.performTimeOuts();
默认的 txn 的 timeout是 300s。删除300秒没有心跳的事务。

TXN_TIMEOUT("metastore.txn.timeout", "hive.txn.timeout", 300, TimeUnit.SECONDS,"time after which transactions are declared aborted if the client has not sent a heartbeat."),

DumpDirCleanerTask

dump dir 是

REPLDIR("hive.repl.rootdir","/user/hive/repl/","HDFS root dir for all replication dumps."),

此目录的 ttl 是

REPL_DUMPDIR_TTL("hive.repl.dumpdir.ttl", "7d",new TimeValidator(TimeUnit.DAYS),

AcidCompactionHistoryService

周期行调用 txnHandler.purgeCompactionHistory();
purgeCompactionHistory 的内容如下。对于可以合并的 entity(分区或者表(非分区表)),只保留最后几次的history。

/*** For any given compactable entity (partition, table if not partitioned) the history of compactions* may look like "sssfffaaasffss", for example.  The idea is to retain the tail (most recent) of the* history such that a configurable number of each type of state is present.  Any other entries* can be purged.  This scheme has advantage of always retaining the last failure/success even if* it's not recent.* @throws MetaException*/@RetrySemantics.SafeToRetryvoid purgeCompactionHistory() throws MetaException;

RuntimeStatsCleanerTask

如果此参数设置true,则query reexecution 的时候会收集统计信息。

HIVE_QUERY_REEXECUTION_ALWAYS_COLLECT_OPERATOR_STATS("hive.query.reexecution.always.collect.operator.stats", false,"If sessionstats are enabled; this option can be used to collect statistics all the time"),
RawStore ms = HMSHandler.getMSForConf(conf);
int maxRetainSecs=(int) MetastoreConf.getTimeVar(conf, MetastoreConf.ConfVars.RUNTIME_STATS_MAX_AGE, TimeUnit.SECONDS);int deleteCnt = ms.deleteRuntimeStats(maxRetainSecs);

maxRetainSecs 默认 3天。
删除表 RUNTIME_STATS 中 createTime <= 3天前的记录

RUNTIME_STATS_MAX_AGE("runtime.stats.max.age", "hive.metastore.runtime.stats.max.age", 86400 * 3, TimeUnit.SECONDS,"Stat entries which are older than this are removed.")

AcidWriteSetService

默认每60秒的周期调用一次 txnHandler.performWriteSetGC(); .

执行类似以下的语句。

select min(txn_id) commitHighWaterMark from TXNS where txn_state='OPEN';
delete from WRITE_SET where ws_commit_id < commitHighWaterMark;

EventCleanerTask

定期执行以下语句。

RawStore ms = HMSHandler.getMSForConf(conf);
long deleteCnt = ms.cleanupEvents();

cleanupEvents 删除 PARTITION_EVENTS表的过期数据。
PARTITION_EVENTS 表的数据,进在 hcatalog 中使用

MaterializationsRebuildLockCleanerTask

从表 MATERIALIZATION_REBUILD_LOCKS 中找到过期数据,然后删除。


http://www.ppmy.cn/server/172530.html

相关文章

SPI驱动(一) -- SPI协议

文章目录 一、SPI硬件连接框图1.1 引脚说明1.2 连接说明 二、SPI协议2.1 SPI传输示例2.2 SPI工作模式 三、总结 一、SPI硬件连接框图 SPI硬件连接框图如下&#xff1a; 1.1 引脚说明 SCK&#xff1a;Serial Clock&#xff0c;时钟引脚DO(MOSI)&#xff1a;Master Output, S…

使用easyocr、PyPDF2对图像及PDF文档进行识别

一、概述 本 Python 脚本的主要功能是对当前目录及其子目录下的图片和 PDF 文件进行光学字符识别&#xff08;OCR&#xff09;处理。它使用 easyocr 库处理图片中的文字&#xff0c;使用 PyPDF2 库提取 PDF 文件中的文本&#xff0c;并将处理结果保存为文本文件。同时&#xff…

kaggle竞赛(初识)

PART 0 : Kaggle 介绍 Kaggle是什么&#xff1f; 答案很简单Kaggle是数据挖掘比赛火起来的&#xff0c;以至于中国兴起了很多很多类似的比赛&#xff1b;Kaggle 是一个数据科学竞赛的平台&#xff0c;很多公司会发布一些接近真实业务的问题&#xff0c;吸引爱好数据科学的人来…

5. 快速排序

快速排序是Hoare于1962年提出的一种二叉树结构的交换排序方法&#xff0c;其基本思想为&#xff1a;任取待排序 元素序列中的某元素作为基准值&#xff0c;按照该排序码将待排序集合分割成两子序列&#xff0c;左子序列中所有 元素均小于基准值&#xff0c;右子序列中所有元素均…

Windows10系统构建本地安全私有化的个人知识库——采用DeepSeek+RAGFlow

一、为什么要构建本地私有化个人知识库 1.1、自身需求 1、需要相关隐私资料内容的安全保护可控; 2、需要根据自身的隐私资料内容构建出个性化的知识库; 一些常见的业务场景如:①希望我们的智能助手可以根据公司的管理制度回答问题,让员工可以随时了解公司相关制度内容信息;…

每天练打字17:连续两天赛文速度突破100,今日赛文速度83.01

今日跟打&#xff1a;1932字 总跟打&#xff1a;221584字 记录天数&#xff1a;2602天 &#xff08;实际没有这么多天&#xff0c;这个是注册账号的天数&#xff09; 平均每天&#xff1a;85字 今日赛文首打速度&#xff1a;83.01 上周定的目标是&#xff1a;练习常用字前500&…

sass语法@import将被放弃???升级@use食用指南!

相信各位同学最近使用sass时会遇到控制台警告问题&#xff0c;这是因为随着CSS发展&#xff0c;sass将升级导入文件的语法&#xff0c;import语法因为全局作用域&#xff0c;依赖关系混乱等原因将被use语法取代。 在 Sass 中&#xff0c;import 和 use 都用于模块化代码&#…

Qt之QGraphicsView图像操作

QGraphicsView图像操作:旋转、放大、缩小、移动、图层切换 1 摘要 GraphicsView框架结构主要包含三个主要的类QGraphicsScene(场景)、QGraphicsView(视图)、QGraphicsItem(图元)。QGraphicsScene本身不可见,是一个存储图元的容器,必须通过与之相连的QGraphicsView视图来显…