Spark Sql之ThriftServer和Beeline的使用

概述

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的关系

只要保证HDFSMySQL没有问题,基本上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作为客户端来访问服务端,支持多个客户端同时访问,有助于多个客户端之间数据的共享

原文地址:https://www.cnblogs.com/itboys/p/9925110.html