# database-access-backend **Repository Path**: wubaidev/database-access-backend ## Basic Information - **Project Name**: database-access-backend - **Description**: 实现用户对数据库表的访问记录跟踪 | 表的访问次数统计 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2025-03-05 - **Last Updated**: 2025-03-05 ## Categories & Tags **Categories**: Uncategorized **Tags**: Java ## README # database-access-backend **使用详细说明**:[ 我写了一个程序:实现用户对数据库表的访问记录跟踪 | 表的访问次数统计 ](https://blog.csdn.net/m0_57874805/article/details/145802340?spm=1001.2014.3001.5502) **业务场景**:大数据集群中对数据库表的访问记录追踪,本程序以hive数据库为例进行讲解 **目的**:说明本程序实现用户对数据库表的访问记录跟踪 、表的访问次数统计 **开发思路:** **思路1:** 原本计划是通过大数据权限校验组件Ranger的对hive表的鉴权审计中获取表的访问记录,但是该方式需要修改RangerHiveAuth中的一个方法,其实是在修改源码,且需要重启ranger服务,若是生产环境该方案操作风险较高,若重启ranger服务会对生产一些实时业务产生影响,所以暂时放弃此方式。 **思路2:** 通过配置Ranger的一些配置参数,需要重启Ranger服务以及Ranger依赖的服务都要重启生效(因此也被pass掉): 在Ranger产品文档中「配置组件审计日志保存至Elasticsearch」章节有以下参数配置: ```bash ranger.audit.source.type ranger.audit.elasticsearch.urls ranger.audit.elasticsearch.protocol ranger.audit.elasticsearch.index ranger.audit.elasticsearch.user ranger.audit.elasticsearch.password ``` 修改Ranger参数 重启服务生效后的情况如下图(Ranger对表的授权记录): ![输入图片说明](%E5%9B%BE%E7%89%87.png) **思路3:本程序** 通过大数据集群自带的一个接口实现,以下就是**HiveMetaStore**的访问记录接口,这个接口因该在每个大数据集群中都会有的,使用此接口即可查询hive表的访问记录,且可实时追踪,你们还可将表的访问记录存在ElasticSearch实时检索查询某用户对表的访问情况,可达到**按月、周、日这样统计用户对表的访问情况,查询出表的访问Top记录。** ![输入图片说明](%E5%9B%BE%E7%89%871.png) **程序入口主类AuditApi 输出结果如下:** ![输入图片说明](%E5%9B%BE%E7%89%872.png)