我是靠谱客的博主 爱撒娇冷风,最近开发中收集的这篇文章主要介绍sparkSql 中,beeline 连接thriftserver 来操作表中的数据,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

beeline:客户端,负责与thriftserver连接

thriftserver :服务端,负责允许远程客户端使用多种编程语言如Java、Python向Hive提交请求,取回结果。 使用jdbc协议连接hive的thriftserver服务器。正常的hive仅允许使用HiveQL执行查询、更新等操作,并且该方式比较笨拙单一。幸好Hive提供了轻客户端的实现,通过HiveServer或者HiveServer2,客户端可以在不启动CLI的情况下对Hive中的数据进行操作。

1.启动thriftserver 服务,端口10000

./sbin/start-thriftserver.sh 
--hiveconf hive.server2.thrift.port=10000 
--master local[2] 
--jars /opt/dataTec/spark-2.0.2-bin-hadoop2.6/mysql-connector-java-5.1.6-bin.jar

2.启动beeline ,beeline 在spark的bin目录下,端口10000 与上面一致

./bin/beeline -u jdbc:hive2://slave:10000 -n root -p 123456

在开发调试环境中(本地调试服务器上的spark-sql),在使用连接thriftserver来操作spark-sql表中数据时要提前启动thriftserver

import java.sql.DriverManager
/**
* Created by hello on 2018-05-24.
*/
object SparkSqlThriftServerAPP {
def main(args: Array[String]) {
Class.forName("org.apache.hive.jdbc.HiveDriver")
val conn = DriverManager.getConnection("jdbc:hive2://192.168.91.127:10000","root","123456")
val pstmt = conn.prepareStatement("select id,provice,num from info")
val rs = pstmt.executeQuery()
while(rs.next()){
println("id->"+rs.getInt("id") +"
provice->"+rs.getString("provice")+"
num->"+rs.getInt("num") )
}
rs.close()
pstmt.close()
conn.close()
}
}

pom.xml 

<dependency>
<groupId>org.spark-project.hive</groupId>
<artifactId>hive-jdbc</artifactId>
<version>1.2.1.spark2</version>
</dependency>

最后

以上就是爱撒娇冷风为你收集整理的sparkSql 中,beeline 连接thriftserver 来操作表中的数据的全部内容,希望文章能够帮你解决sparkSql 中,beeline 连接thriftserver 来操作表中的数据所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(45)

评论列表共有 0 条评论

立即
投稿
返回
顶部