jdbc调用sparksql
将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的更多相关文章
- jdbc调用sparksql on yarn
spark sql访问hive表 1.将hive-site.xml拷贝到spark目录下conf文件夹 2.(非必需)将mysql的jar包引入到spark的classpath,方式有如下两种: 方式 ...
- Java数据库连接——JDBC调用存储过程,事务管理和高级应用
一.JDBC常用的API深入详解及存储过程的调用 相关链接:Jdbc调用存储过程 1.存储过程(Stored Procedure)的介绍 我们常用的操作数据库语言SQL语句在执行的时候需要先编译,然后 ...
- 使用 JDBC 调用函数 & 存储过程
/** * 如何使用 JDBC 调用存储在数据库中的函数或存储过程 */ @Test public void testCallableStatment() { Connection connectio ...
- shell脚本调用spark-sql
为了更方便的查询并产生报表, 需要使用shell脚本调用spark-sql spark/bin/spark-sql --master spark://host:7077 -f ${SQL_FILE} ...
- jdbc调用存储过程的方法
----------------------------jdbc调用存储过程的方法---------------------------------------------------private ...
- 使用JDBC调用数据库的存储过程
本篇讲述如何使用JDBC来调用MySQL数据库中的存储过程.建议在学习如何使用JDBC调用存储过程前,请先了解如何在数据库中使用存储过程. 存储过程是指在数据库系统中,一组为了完成特定功能的SQL语句 ...
- JDBC调用存储过程
一. JDBC调用存储过程 (1)使用存储过程SQL编写的程序代码,等一段语句和控制流语句.在创建时被编译成机器代码和存储在数据库中的client转让. 存储过程具有以下优势: 1.所生成的机器代码被 ...
- Java数据库连接--JDBC调用存储过程,事务管理和高级应用
相关链接:Jdbc调用存储过程 一.JDBC常用的API深入详解及存储过程的调用 1.存储过程的介绍 我们常用的操作数据库语言SQL语句在执行的时候要先进行编译,然后执行,而存储过程是在大型数据库系统 ...
- JDBC调用存储过程的例子
下面是我学到了Oracle存储过程,在这里跟大家简单的分享一下利用JDBC调用存储过程的例子: 废话就不啰嗦,现在就直接上机代码. 首先我利用的是Oracle中默认的 scott 数据库里的 emp员 ...
随机推荐
- android绘画折线图一
最近需要实现用android来画折线图,所以百度了一下,发现确实很多,也很乱,现在整理两种方法(第二种方法在[android绘画折线图二]中实现),仅供大家参考,一起学习研究. 第一种使用ChartF ...
- android电视安装爱奇艺等不能看视频问题
下载地址: http://pan.baidu.com/s/1dDoxA29
- oracle 自定义异常处理
--第一种方式:使用raise_application_error抛出自定义异常declare i number:=-1;begin if i=-1 then raise_application_er ...
- smarty函数
内置函数(重要的几个): <{html_checkboxes name='nation' values=$code output=$name selected=$selid separator= ...
- Hibernate3回顾-4-事务和并发管理
4.事务和并发 Hibernate是对JDBC的轻量级对象封装,Hibernate本身是不具备Transaction处理功能的,Hibernate的Transaction实际上是底层的JDBC Tra ...
- .NET和java的RSA互通,仅此而已
.NET和java的RSA互通,仅此而已 在开始这篇文章之前,先请读者朋友阅读老唐的这两篇文章: 1.Java与.Net环境下RSA加密解密交互不成功的问题解决 2.Java与.Net环境下RSA加密 ...
- js判断输入框的范围,并且只能输入数字
<input type="text" onkeyup="javascript:this.value=this.value.replace(/[^\d]/g,''); ...
- 无法找到类:java.lang.ClassNotFoundException: com.mysql.jdbc.driver
转载自:http://blog.csdn.net/huangbiao86/article/details/6428608 问题描述:连接数据库,而明明已经将mysql-connector-java-5 ...
- ASP.NET Eval四种绑定方式
1.1.x中的数据绑定语法 <asp:Literal id="litEval2" runat="server" Text='<%#DataBinde ...
- Asp.net MVC 中Controller返回值类型ActionResult
[Asp.net MVC中Controller返回值类型] 在mvc中所有的controller类都必须使用"Controller"后缀来命名并且对Action也有一定的要求: 必 ...