zoukankan      html  css  js  c++  java
  • 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.程序

     1 package com.scala.it
     2 
     3 import java.sql.DriverManager
     4 
     5 object ThriftserverDemo {
     6   def main(args: Array[String]):Unit= {
     7     //add driver
     8     val driver="org.apache.hive.jdbc.HiveDriver"
     9     Class.forName(driver)
    10 
    11     //get connection
    12     val (url,username,userpasswd)=("jdbc:hive2://linux-hadoop01.ibeifeng.com:10000","beifeng","beifeng")
    13     val connection=DriverManager.getConnection(url,username,userpasswd)
    14 
    15     //get statement
    16     connection.prepareStatement("use hadoop09").execute()
    17     val sql="select * from student"
    18     val statement=connection.prepareStatement(sql)
    19 
    20     //get result
    21     val rs=statement.executeQuery()
    22     while(rs.next()){
    23       println(s"${rs.getInt(1)}:${rs.getString(2)}")
    24     }
    25 
    26     //close
    27     rs.close()
    28     statement.close()
    29     connection.close()
    30   }
    31 }

    4.运行结果

      

  • 相关阅读:
    50个SQL语句(MySQL版) 问题六
    50个SQL语句(MySQL版) 问题五
    50个SQL语句(MySQL版) 问题四
    50个SQL语句(MySQL版) 问题三
    50个SQL语句(MySQL版) 问题二
    50个SQL语句(MySQL版) 问题一
    50个SQL语句(MySQL版) 建表 插入数据
    相邻元素margin的自动合并与float的坑
    STL之list
    你真的会用搜索吗?—— google 搜索技巧
  • 原文地址:https://www.cnblogs.com/juncaoit/p/6763727.html
Copyright © 2011-2022 走看看