037 SparkSQL ThriftServer服务的使用和程序中JDBC的连接
一:使用
1.实质
提供JDBC/ODBC连接的服务
服务运行方式是一个Spark的应用程序,只是这个应用程序支持JDBC/ODBC的连接,
所以:可以通过应用的4040页面来进行查看操作
2.启动服务

3.配置(已经被隐含)
1. 配置thriftserver2的ip地址和端口号
修改hive-site.xml文件
hive.server2.thrift.port=10000
hive.server2.thrift.bind.host=localhost
2. 集成Hive环境(类似SparkSQL)
3. 启动服务
$ sbin/start-thriftserver.sh
$ sbin/stop-thriftserver.sh
4. 测试

二:测试
重要的是需要哪些服务的开启。
1.前提
首先是hadoop的两个服务要开启
然后是hive 的metastore
然后启动spark-shell,如果没有启动hive的metastore,则会在这一步报错,说找不到hive的9083端口。至于启动spark-shell,则是为了看4040端口上的JDBS/ODBC服务
然后启动hive thriftservice

2.测试
命令行测试,使用beeline脚本连接
上面的截图已经操作了。

3.界面(4040端口)

4.测试sql语句
测试一:

测试二:

三:程序
1.结构

2.添加依赖包

3.程序
package com.scala.it
import java.sql.DriverManager
object ThriftserverDemo {
def main(args: Array[String]):Unit= {
//add driver
val driver="org.apache.hive.jdbc.HiveDriver"
Class.forName(driver)
//get connection
val (url,username,userpasswd)=("jdbc:hive2://linux-hadoop01.ibeifeng.com:10000","beifeng","beifeng")
val connection=DriverManager.getConnection(url,username,userpasswd)
//get statement
connection.prepareStatement("use hadoop09").execute()
val sql="select * from student"
val statement=connection.prepareStatement(sql)
//get result
val rs=statement.executeQuery()
while(rs.next()){
println(s"${rs.getInt(1)}:${rs.getString(2)}")
}
//close
rs.close()
statement.close()
connection.close()
}
}
4.运行结果

037 SparkSQL ThriftServer服务的使用和程序中JDBC的连接的更多相关文章
- SparkSQL ThriftServer服务的使用和程序中JDBC的连接
SparkSQL ThriftServer服务的使用和程序中JDBC的连接 此时要注意版本问题,我第一次用的是hive2.1.1的,因为要用sparksql的hive服务,但是sparksql默认的是 ...
- 如何在服务(Service)程序中显示对话框
原文:http://www.vckbase.com/index.php/wv/94 服务程序(Service)一般是不能和用户进行交互的,所以他一般是不能显示窗口的.要和用户进行交互(如显示窗口),我 ...
- java程序中的ibatis连接mySql的基本实例
属性文件:SqlMap.properties driver=com.mysql.jdbc.Driver url=jdbc:mysql://localhost:3306/ibatis username= ...
- (转)ORA-12514 TNS 监听程序当前无法识别连接描述符中请求服务 的解决方法
早上同事用PL/SQL连接虚拟机中的Oracle数据库,发现又报了"ORA-12514 TNS 监听程序当前无法识别连接描述符中请求服务"错误,帮其解决后,发现很多人遇到过这样的问 ...
- 远程控制篇:在DELPHI程序中拨号上网
用MODEM拨号上网,仍是大多数个人网民选择上网的方式.如果能在我们的应用程序中启动拨号连接(如IE浏览器程序中的自动拨号功能),无疑将会方便我们的软件用户(不用再切换应用程序,运行拨号网络),提高我 ...
- 3.hive的thriftserver服务
1.ThiftServer介绍 正常的hive仅允许使用HiveQL执行查询.更新等操作,并且该方式比较笨拙单一.幸好Hive提供了轻客户端的实现,通过HiveServer或者HiveServer2, ...
- 关于Oracle报“ORA-12514 TNS 监听程序当前无法识别连接描述符中请求服务”错误
关于Oracle报“ORA-12514 TNS 监听程序当前无法识别连接描述符中请求服务”错误原因:listener.ora中没有指定监听服务器名. 如下是解决思路: 尝试1.通过重启服务的方式启动数 ...
- Oracle几个基础配置问题:ORA-12154: TNS: 无法解析指定的连接标识符、ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务、ORA-12516 TNS监听程序找不到符合协议堆栈要求的可用处理程序
问题1:ORA-12154: TNS: 无法解析指定的连接标识符 在一台服务器上部署了Oracle客户端,使用IP/SID的方式访问,老是报ORA-12154错误,而使用tnsnames访问却没有问题 ...
- ORA-12514 TNS 监听程序当前无法识别连接描述符中请求服务 的解决方法
今天用PL/SQL连接虚拟机中的Oracle数据库,发现报了“ORA-12514 TNS 监听程序当前无法识别连接描述符中请求服务”错误,也许你也遇到过,原因如下: oracle安装成功后,一直未停止 ...
随机推荐
- 【BZOJ1021】[SHOI2008]循环的债务(动态规划)
[BZOJ1021][SHOI2008]循环的债务(动态规划) 题面 BZOJ 洛谷 题解 感觉以前的题目都好小清新啊,我这种智商丢失的选手完全写不动. 这题看着就像一个\(dp\),并且我们发现每种 ...
- 上传文件到aws的s3存储
只要有aws-cli客户端就可以上传文件到aws的S3存储.可以在任意机器上.这里以centos为例. 1.安装python.pip. # yum install -y python python-p ...
- Libre 6009 「网络流 24 题」软件补丁 / Luogu 2761 软件安装问题 (最短路径,位运算)
Libre 6009 「网络流 24 题」软件补丁 / Luogu 2761 软件安装问题 (最短路径,位运算) Description T 公司发现其研制的一个软件中有 n 个错误,随即为该软件发放 ...
- 遭遇:“传入的表格格式数据流(TDS)远程过程调用(RPC)协议流不正确” 错误
http://www.cnblogs.com/delphinet/archive/2010/03/09/1681777.html 正在写一个类似文章的发表系统.其中记录文章内容的字段Contents设 ...
- centos7搭建ELK Cluster集群日志分析平台
应用场景:ELK实际上是三个工具的集合,ElasticSearch + Logstash + Kibana,这三个工具组合形成了一套实用.易用的监控架构, 很多公司利用它来搭建可视化的海量日志分析平台 ...
- SQL提高查询效率【in、not in、between、like】等条件讲述
在使用SQL语句查询数据库记录时,如果要查询相同的内容,有着不同的多种方法. 仍然,尽管使用多种方法可以得到相同的结果,但是,如果您使用不同的方法,在执行效益上是截然不同的.因此,我们得仔细考虑,如果 ...
- C语言复习---获取矩阵的对角和
#include <stdio.h> #include <stdlib.h> #include <math.h> #define MAX 5 int main() ...
- pgadmin导出excel
生成导入sql 第一行公式:="insert into province(code,name) values("&A2&",'"&B2& ...
- MySql数据库表的查询操作
http://www.cnblogs.com/whgk/p/6149009.html 优化:http://www.ihref.com/read-16422.html MYSQL常用的几种连接查询方法
- php拾遗: 类型约束
突然间什么都不想干,感觉就像来大姨夫一样..但是又不能断了每个工作日都写博客的习惯..所以今天水一下吧. PHP用了快2年了,但是这东西竟然第一次看到,突然间,觉得自己有掉回战五渣的行列了.翻开官方文 ...