概述
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作为客户端来访问服务端,支持多个客户端同时访问,有助于多个客户端之间数据的共享