将hive-site.xml拷贝到spark目录下conf文件夹

local模式

spark-sql --driver-class-path /usr/local/hive-1.2.1/lib/mysql-connector-java-5.1.31-bin.jar

或者

需要在$SPARK_HOME/conf/spark-env.sh中的SPARK_CLASSPATH添加jdbc驱动的jar包

export export SPARK_CLASSPATH=$SPARK_CLASSPATH:/usr/local/hive-1.2.1/lib/mysql-connector-java-5.1.31-bin.jar

连接到集群:

spark-sql --master spark://10.8.2.100:7077  --driver-class-path /usr/local/hive-1.2.1/lib/mysql-connector-java-5.1.31-bin.jar

开启thriftserver,指定服务器为hadoop-master

内网连接:
sbin/start-thriftserver.sh --master spark://10.9.2.100:7077 --driver-class-path /usr/local/hive-1.2.1/lib/mysql-connector-java-5.1.31-bin.jar
外网连接:
sbin/start-thriftserver.sh --hiveconf hive.server2.thrift.port=10000 --hiveconf hive.server2.thrift.bind.host=hadoop-master --master spark://10.9.2.100:7077 --driver-class-path /usr/local/hive-1.2.1/lib/mysql-connector-java-5.1.31-bin.jar

停止thriftserver

sbin/stop-thriftserver.sh 

beeline客户端访问thrift server,下面两个ip是hadoop-master的内外网地址

beeline -u jdbc:hive2://10.9.2.100:10000

beeline -u jdbc:hive2://122.23.368.32:10000

java连接验证程序:

import java.sql.*;  

/**

 * 注意:

 * 使用JavaHiveContext时

 * 1:需要在classpath下面增加三个配置文件:hive-site.xml,core-site.xml,hdfs-site.xml

 * 2:需要增加postgresql或mysql驱动包的依赖

 * 3:需要增加hive-jdbc,hive-exec的依赖

 *

 */

public class SimpleDemo {

    public static void main(String[] args) {

        System.out.println("start");

        String jdbcdriver="org.apache.hive.jdbc.HiveDriver";  

        String jdbcurl="jdbc:hive2://122.23.368.32:10000";  

        String username="hive";  

        String password="hive";          

        try

        {

            Class.forName(jdbcdriver);

            Connection c = DriverManager.getConnection(jdbcurl,username,password);   

            System.out.println("fffffff:");

            Statement st = c.createStatement();               

            print( "num should be 1 " , st.executeQuery("select count(*) from test"));

        } catch (Exception e)

        {

            // TODO Auto-generated catch block

            System.out.println("fffffff:");

            e.printStackTrace();

        }  

    }

    static void print( String name , ResultSet res )  

            throws SQLException {  

            System.out.println( name);  

            ResultSetMetaData meta=res.getMetaData();                         

            //System.out.println( "\t"+res.getRow()+"条记录");  

            String  str="";  

            for(int i=1;i<=meta.getColumnCount();i++){  

                str+=meta.getColumnName(i)+"   ";  

                //System.out.println( meta.getColumnName(i)+"   ");  

            }  

            System.out.println("\t"+str);  

            str="";  

            while ( res.next() ){  

                for(int i=1;i<=meta.getColumnCount();i++){     

                    str+= res.getString(i)+"   ";                           }   

                System.out.println("\t"+str);  

                str="";  

            }  

        }         

}

jdbc调用sparksql的更多相关文章

  1. jdbc调用sparksql on yarn

    spark sql访问hive表 1.将hive-site.xml拷贝到spark目录下conf文件夹 2.(非必需)将mysql的jar包引入到spark的classpath,方式有如下两种: 方式 ...

  2. Java数据库连接——JDBC调用存储过程,事务管理和高级应用

    一.JDBC常用的API深入详解及存储过程的调用 相关链接:Jdbc调用存储过程 1.存储过程(Stored Procedure)的介绍 我们常用的操作数据库语言SQL语句在执行的时候需要先编译,然后 ...

  3. 使用 JDBC 调用函数 & 存储过程

    /** * 如何使用 JDBC 调用存储在数据库中的函数或存储过程 */ @Test public void testCallableStatment() { Connection connectio ...

  4. shell脚本调用spark-sql

    为了更方便的查询并产生报表, 需要使用shell脚本调用spark-sql spark/bin/spark-sql --master spark://host:7077 -f ${SQL_FILE} ...

  5. jdbc调用存储过程的方法

    ----------------------------jdbc调用存储过程的方法---------------------------------------------------private ...

  6. 使用JDBC调用数据库的存储过程

    本篇讲述如何使用JDBC来调用MySQL数据库中的存储过程.建议在学习如何使用JDBC调用存储过程前,请先了解如何在数据库中使用存储过程. 存储过程是指在数据库系统中,一组为了完成特定功能的SQL语句 ...

  7. JDBC调用存储过程

    一. JDBC调用存储过程 (1)使用存储过程SQL编写的程序代码,等一段语句和控制流语句.在创建时被编译成机器代码和存储在数据库中的client转让. 存储过程具有以下优势: 1.所生成的机器代码被 ...

  8. Java数据库连接--JDBC调用存储过程,事务管理和高级应用

    相关链接:Jdbc调用存储过程 一.JDBC常用的API深入详解及存储过程的调用 1.存储过程的介绍 我们常用的操作数据库语言SQL语句在执行的时候要先进行编译,然后执行,而存储过程是在大型数据库系统 ...

  9. JDBC调用存储过程的例子

    下面是我学到了Oracle存储过程,在这里跟大家简单的分享一下利用JDBC调用存储过程的例子: 废话就不啰嗦,现在就直接上机代码. 首先我利用的是Oracle中默认的 scott 数据库里的 emp员 ...

随机推荐

  1. jquery操作html data-* 属性的坑

  2. oracle 变量赋值

    在oracle 中使用 select 字段 into 变量 from 表 where 条件 这种方法给变量赋值时和MSSQL的行为有比较大区别. 在MSSQL中如果在该表中未检索到任何行,则变量的值保 ...

  3. Spring boot配合Spring session(redis)遇到的错误

    背景:本MUEAS项目,一开始的时候,是没有引入redis的,考虑到后期性能的问题而引入.之前没有引用redis的时候,用户登录是正常的.但是,在加入redis支持后,登录就出错!错误如下: . __ ...

  4. phonegap–app启动欢迎引导页localstorage

    对一个新的app,一般情况都会添加一个介绍和欢迎的页面来告诉用户app的功能和新的特性. 那么在phonegap项目里面如何添加这样个引导欢迎页. 这里需要注意的是只有app第一次打开的时候才会有,其 ...

  5. MVC4 WebAPI(一)

    http://www.cnblogs.com/wk1234/archive/2012/04/28/2468491.html 不管是因为什么原因,结果是在新出的MVC中,增加了WebAPI,用于提供RE ...

  6. JS如何调用隐藏按钮的click事件

    js如何调用隐藏按钮的click事件:1.设定隐藏不要使用Visiable属性,使用style.display=none:2.触发JS事件可以使用fireEvent方法,如:document.getE ...

  7. 【jmeter】ANT批量执行Jmeter脚本

    一.环境准备: 1.Jdk1.6或以上:命令行输入:java -version,出现如下提示说明安装成功 2.ANT下载:http://ant.apache.org/bindownload.cgi 命 ...

  8. Neutron分析(3)—— neutron-l3-agent

    一.Layer-3 Networking Extension neutron l3作为一种API扩展,向租户提供了路由和NAT功能. l3扩展包含两种资源: router:在不同内部子网中转发数据包: ...

  9. MySQL压缩包安装

    1.解压缩 2.添加环境变量 3.添加配置文件 my.ini 4.以管理员身份初始化数据库 mysqld --initialize --user=mysql --console 5.以管理员身份将My ...

  10. Python列表,元组,字典,序列,引用

    1.列表 # Filename: using_list.py # This is my shopping list shoplist=["apple", "mango&q ...