概述
ThriftServer相当于service层,而ThriftServer通过Beeline
来连接数据库。客户端用于连接JDBC的Server的一个工具
步骤
1:启动metastore服务
./sbin/start-thriftserver.sh
2:连接
[rachel@bigdata-senior01 spark-2.2.0-bin]$ ./bin/beeline
Beeline version 1.2.1.spark2 by Apache Hive
beeline> !connect jdbc:hive2://192.168.1.11:10000
Connecting to jdbc:hive2://192.168.1.11:10000
Enter username for jdbc:hive2://192.168.1.11:10000: rachel
Enter password for jdbc:hive2://192.168.1.11:10000: ******
18/09/23 11:09:58 INFO Utils: Supplied authorities: 192.168.1.11:10000
3:Spark编译时版本选择和Hive的关系
只要保证HDFS\mysql没有问题,基本上spark和hive集成没有问题。
对于spark2.0以后版本编译,默认选择hive的1.2.*之后的版本
hive可以理解为外面封装了数据服务的代理。
在spark和hive集成,虽然说是1.2,因为hive只提供了一个metastore
只要保证HDFS数据没有问题,metastore没有问题,hive中的数据就是没有问题的
4:连接beeline
0: jdbc:hive2://192.168.1.11:10000> 这类似一个mysql的客户端。
0: jdbc:hive2://192.168.1.11:10000> select * from rachel.test;
+---------+-----------+--+
| userid | username |
+---------+-----------+--+
| 1 | rachel |
| 2 | allen |
| 3 | nike |
| 4 | joy |
+---------+-----------+--+
5:页面上查看Job
http://192.168.1.11:4040/jobs/
总结
基于Spark的thirftserver来访问hive中的数据,可以让多个客户端连接到同一个服务器端,跑的是同一个application
Thirftserver作为服务端,beeline作为客户端来访问服务端,支持多个客户端同时访问,有助于多个客户端之间数据的共享