Spark SQL也提供JDBC连接支持,这对于让商业智能(BI)工具连接到Spark集群上以及在多用户间共享一个集群的场景都非常有用。JDBC服务器作为一个独立的Spark驱动器程序运行,可以在多用户之间共享。任意一个客户端都可以在内存中缓存数据表,对表进行查询。集群的资源以及缓存数据都在所有用户之间共享

      Spark SQL的JDBC服务器与Hive中的HiveServer2相一致。由于使用了Thrift通用协议,它也被称为“Thrift server”

      服务器可以通过Spark目录中的sbin/start-thriftserver.sh启动。这个脚本接受的参数选项大多与spark-submit相同。默认情况下,服务器会在localhost:10000上进行监听,我们可以通过环境变量(HIVE_SERVER2_THRIFT_PORT 和 HIVE_SERVER2_THRIFT_BIND_HOST)修改这些设置,也可以通过Hive配置选项(hive. server2.thrift.port 和hive.server2.thrift.bind.host)来修改。也可以通过命令参数--hiveconf property=value来设置Hive选项

./sbin/start-thriftserver.sh \
--hiveconf hive.server2.thrift.port=<listening-port> \ --hiveconf hive.server2.thrift.bind.host=<listening-host> \ --master <master-uri>
...
./bin/beeline
beeline> !connect jdbc:hive2://master01:10000
05-26 11:23