With the development of Spark and Hive，in current sql/hive-thriftserver module,
we need to do a lot of work to solve code conflicts for different built-in hive versions.
It's an annoying and unending work in current ways. And these issues have limited
our ability and convenience to develop new features for Spark’s thrift server.
We suppose to implement a new thrift server and JDBC driver based on Hive’s latest v11
TCLService.thrift thrift protocol. Finally, the new thrift server have below feature:
Build new module spark-service as spark’s thrift server
Don't need as much reflection and inherited code as `hive-thriftser` modules
Support all functions current `sql/hive-thriftserver` support
Use all code maintained by spark itself, won’t depend on Hive
Support origin functions use spark’s own way, won't limited by Hive's code
Support running without hive metastore or with hive metastore
Support user impersonation by Multi-tenant splited hive authentication and DFS authentication
Support session hook for with spark’s own code
Add a new jdbc driver spark-jdbc, with spark’s own connection url “jdbc:spark:<host>:<port>/<db>”
Support both hive-jdbc and spark-jdbc client, then we can support most clients and BI platform