项目地址
A Fully HiveServer2-like Multi-tenancy Spark Thrift Server Supporting Impersonation and Multi-SparkContext
https://github.com/yaooqinn/multi-tenancy-spark
原有特性
- 支持静态和动态两种多租户模式(Test only On YARN)
- 支持SparkContext多实例,以用户区分,单用户只能实例化一个sc
- 支持hive.server2.doAs.enabled
- 支持hive.server2.proxy.user做代理执行,动态和静态方式不同
- 支持Apache Ranger粒度到Column的控制
- 支持Operation级别的Log(动态Only)
- 支持High Availability; 动态模式可无缝加入hiveserver2的zk namespace
新增特性
- 集成spark-authorier权限控制插件
原本实现的权限控制是基于Hive的语法解析器做的,使得项目支持的语法退化成了HQL,如今集成spark-authorizer插件,基于Spark SQL逻辑计划直接进行权限控制,以支持SQL2003标准及HQL