一:使用

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的连接的更多相关文章

  1. SparkSQL ThriftServer服务的使用和程序中JDBC的连接

    SparkSQL ThriftServer服务的使用和程序中JDBC的连接 此时要注意版本问题,我第一次用的是hive2.1.1的,因为要用sparksql的hive服务,但是sparksql默认的是 ...

  2. 如何在服务(Service)程序中显示对话框

    原文:http://www.vckbase.com/index.php/wv/94 服务程序(Service)一般是不能和用户进行交互的,所以他一般是不能显示窗口的.要和用户进行交互(如显示窗口),我 ...

  3. java程序中的ibatis连接mySql的基本实例

    属性文件:SqlMap.properties driver=com.mysql.jdbc.Driver url=jdbc:mysql://localhost:3306/ibatis username= ...

  4. (转)ORA-12514 TNS 监听程序当前无法识别连接描述符中请求服务 的解决方法

    早上同事用PL/SQL连接虚拟机中的Oracle数据库,发现又报了"ORA-12514 TNS 监听程序当前无法识别连接描述符中请求服务"错误,帮其解决后,发现很多人遇到过这样的问 ...

  5. 远程控制篇:在DELPHI程序中拨号上网

    用MODEM拨号上网,仍是大多数个人网民选择上网的方式.如果能在我们的应用程序中启动拨号连接(如IE浏览器程序中的自动拨号功能),无疑将会方便我们的软件用户(不用再切换应用程序,运行拨号网络),提高我 ...

  6. 3.hive的thriftserver服务

    1.ThiftServer介绍 正常的hive仅允许使用HiveQL执行查询.更新等操作,并且该方式比较笨拙单一.幸好Hive提供了轻客户端的实现,通过HiveServer或者HiveServer2, ...

  7. 关于Oracle报“ORA-12514 TNS 监听程序当前无法识别连接描述符中请求服务”错误

    关于Oracle报“ORA-12514 TNS 监听程序当前无法识别连接描述符中请求服务”错误原因:listener.ora中没有指定监听服务器名. 如下是解决思路: 尝试1.通过重启服务的方式启动数 ...

  8. Oracle几个基础配置问题:ORA-12154: TNS: 无法解析指定的连接标识符、ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务、ORA-12516 TNS监听程序找不到符合协议堆栈要求的可用处理程序

    问题1:ORA-12154: TNS: 无法解析指定的连接标识符 在一台服务器上部署了Oracle客户端,使用IP/SID的方式访问,老是报ORA-12154错误,而使用tnsnames访问却没有问题 ...

  9. ORA-12514 TNS 监听程序当前无法识别连接描述符中请求服务 的解决方法

    今天用PL/SQL连接虚拟机中的Oracle数据库,发现报了“ORA-12514 TNS 监听程序当前无法识别连接描述符中请求服务”错误,也许你也遇到过,原因如下: oracle安装成功后,一直未停止 ...

随机推荐

  1. 【Luogu1344】追查坏牛奶(最小割)

    [Luogu1344]追查坏牛奶(最小割) 题面 洛谷 题解 裸的最小割,但是要求边的数量最小. 怎么办呢?给每条边的权值额外加上一个很大的值就了. #include<iostream> ...

  2. 洛谷 P1310 表达式的值 解题报告

    P1310 表达式的值 题目描述 对于1 位二进制变量定义两种运算: 运算的优先级是: 先计算括号内的,再计算括号外的. "× "运算优先于"⊕"运算,即计算表 ...

  3. root和alias的区别

    先来看看官方说明: root 的用法: location /request_path/image/ { root /local_path/; } 当客户端请求 /request_path/image/ ...

  4. PostgreSQL(一)教程 -----SQL语言

    一.概念 PostgreSQL是一种关系型数据库管理系统 (RDBMS).这意味着它是一种用于管理存储在关系中的数据的系统.关系实际上是表的数学术语. 今天,把数据存储在表里的概念已经快成了固有的常识 ...

  5. 解题:SHOI 2014 概率充电器

    题面 显然就是在求概率,因为期望乘的全是1....然后就推推推啊 设$fgg[i]$表示这个点父亲没给他充上电的概率,$sgg[i]$表示这个点子树(和它自己)没给他充上电的概率,然后这个点没充上电的 ...

  6. M公司的回忆录——L公司

    2013年3月笔者回国的第一站便是这人称有福之州的福州.受我兄弟之邀笔者来到了L公司.而这也是笔者与M公司相遇的前缘.此时的L公司只是一个刚起步的创业公司.与所有创业公司一样子——创业初期存在着很多问 ...

  7. 【洛谷P1214】等差数列

    题目大意:列出从一个给定上界的双平方数集合中选出若干个数,组成长度为 N 的等差数列的首项和公差. 题解:首先,因为是在双平方数集合上的等差数列,而且根据题目范围可知,上界不超过 2e5,可以先打表, ...

  8. Go 语言编程规范

    1. gofmt 命令 大部分的格式问题可以通过 gofmt 来解决,gofmt 自动格式化代码,保证所有的 go 代码与官方推荐的格式保持一致,所有格式有关问题,都以gofmt的结果为准.所以,建议 ...

  9. 20155216 2016-2017-2 《Java程序设计》第八周学习总结

    20155216 2016-2017-2 <Java程序设计>第八周学习总结 教材学习内容总结 认识NIO Java NIO 由以下几个核心部分组成: Channels Buffers S ...

  10. 使用js获取浏览器地址栏里的参数

    用JS获取地址栏参数的方法(超级简单) 方法一:采用正则表达式获取地址栏参数:( 强烈推荐,既实用又方便!) function GetQueryString(name) { var reg = new ...