项目描述: 数据平台同时存在Hive, SparkThriftServer, Impala等几种数据查询服务. 并且没有权限验证
功能.
开发本项目是为了解决
1. 统一入口+权限认证
2. SQL记录和分析
3. 队列自动选择
2018/09-2019/12
2019/04-2019/05代理实现了hive的thrift server, 客户端使用datagrip(使用hive jdbc)或者hive jdbc、python hive clien
t等可以方便连接到查询代理, 执行sql语句.
代理首先认证用户(使用公司统一认证中心), 在用户提交SQL时, 分析SQL使用到的表、视图, 然后查询
用户是否拥有读权限. 没有权限的用户请求会被拒绝执行.权限检查通过的SQL会交由后端的hive, sts或
者impala执行.
后端hive, sts或impala都是多实例部署, 一开始采用随机选择后端服务策略, 计划实现根据SQL来选择
不同后端的策略(快慢、优先级等)
用户执行的SQL都会保存下来, 进行批量分析, 找到其中的问题, 对用户提出优化建议.还可以辅助找到对
常用的表,