ThriftServer至關於service層,而ThriftServer經過Beeline
來鏈接數據庫。客戶端用於鏈接JDBC的Server的一個工具mysql
1:啓動metastore服務sql
./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集成沒有問題app
對於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:頁面上查看Jobspa
http://192.168.1.11:4040/jobs/
基於Spark的thirftserver來訪問hive中的數據,能夠讓多個客戶端鏈接到同一個服務器端,跑的是同一個application代理
Thirftserver做爲服務端,beeline做爲客戶端來訪問服務端,支持多個客戶端同時訪問,有助於多個客戶端之間數據的共享code