Spring中使用Spark连接的DataSource
在Spring中配置Spark hive-thriftserver的连接DataSource与配置其他数据源连接方式是一样的,如一般Oracle数据源配置,使用如下必须的Jar包:
使用JDBC程序示例:
package com.hadoop.test;import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;public class ThreadSql extends Thread {@Overridepublic void run() {excSparkSql();}public void excSparkSql() {String result = "";Connection conn = null;Statement stmt = null;try {Class.forName("org.apache.hadoop.hive.jdbc.HiveDriver");conn = DriverManager.getConnection("jdbc:hive://10.20.12.214:10000/test_db", "hduser001", "");stmt = conn.createStatement();String sql = " select count(1) from test_data "; long start = System.currentTimeMillis();ResultSet res = stmt.executeQuery(sql);long cost = System.currentTimeMillis() - start;result = Thread.currentThread().getName() + ": " + cost/1000.0f + "s";System.out.println(result);stmt.close();conn.close();} catch (Exception e) {try {stmt.close();conn.close();} catch (SQLException e1) {// TODO Auto-generated catch blocke1.printStackTrace();}e.printStackTrace();}}}
在Spring中配置如下,类似oracle的datasource配置,并在其他的ServiceBean中将其注入即可
<bean id="dataService" class="com.sun.dt.service.impl.DataServiceImpl"><property name="dataDao" ref="sparkDataSource"></property></bean><bean id="oralceDataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> <property name="driverClassName" value="${jdbc.driver}" /> <property name="url" value="${jdbc.url}" /> <property name="username" value="${jdbc.username}" /> <property name="password" value="${jdbc.password}" /><property name="maxActive" value="${jdbc.maxActive}" /><property name="maxIdle" value="${jdbc.maxIdle}" /><property name="maxWait" value="${jdbc.maxWait}" /><property name="defaultAutoCommit" value="${jdbc.defaultAutoCommit}" /></bean> <bean id="sparkDataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> <property name="driverClassName" value="org.apache.hadoop.hive.jdbc.HiveDriver" /> <property name="url" value="jdbc:hive://192.168.10.124:10000/test_db" /> <property name="username" value="hduser001" /> <property name="password" value="" /><property name="maxActive" value="8" /><property name="maxIdle" value="3" /><property name="maxWait" value="5" /></bean>
转载于:https://blog.51cto.com/xubcing/1607384
Spring中使用Spark连接的DataSource相关推荐
- spring中的mongoTemplate连接mongo数据库及其多数据源
提前声明下使用的是JAVA语言Maven打包依赖工具和springboot全家桶套餐 一.在pom.xm中引用依赖 现在这里提上一嘴,使用mongo数据库,必然会使用mongo集群,起码得两个节点,需 ...
- spring中使用ftp连接池(ftpClientPool)
如题,我们在一些项目中可能会涉及到ftp上传.下载客户资料.附件.但是若每次上传或下载时都去创建一次ftp连接,上传( 下载)一个文件再关闭,则太耗费连接资源,这时候可以考虑使用连接池(就如同我们需 ...
- Spring中配置DataSource数据源的几种选择
Spring中配置DataSource数据源的几种选择 在Spring框架中有如下3种获得DataSource对象的方法: 从JNDI获得DataSource. 从第三方的连接池获得DataSourc ...
- spring连接jdbc_在Spring JDBC中添加C3PO连接池
spring连接jdbc 连接池是一种操作,其中系统会预先初始化将来要使用的连接. 这样做是因为在使用时创建连接是一项昂贵的操作. 在这篇文章中,我们将学习如何在Spring JDBC中创建C3P0连 ...
- 在Spring JDBC中添加C3PO连接池
连接池是一种操作,其中系统会预先初始化将来要使用的连接. 这样做是因为在使用时创建连接是一项昂贵的操作. 在本文中,我们将学习如何在Spring JDBC中创建C3P0连接池(某人未使用休眠). Po ...
- 【sping揭秘】19、关于spring中jdbctemplate中的DataSource怎么来呢
我们这是可以正好借助之前学的factorybean类,自己吧jdbctemplate加载到spring容器中,我们可以封装多个这种对象,那么可以实现针对不同的数据库的jdbctemplate 首先我们 ...
- 被缠上了,小王问我怎么在 Spring Boot 中使用 JDBC 连接 MySQL
上次帮小王入了 Spring Boot 的门后,他觉得我这个人和蔼可亲.平易近人,于是隔天小王又微信我说:"二哥,快教教我,怎么在 Spring Boot 项目中使用 JDBC 连接 MyS ...
- 在 Spring Boot 中使用 HikariCP 连接池
上次帮小王解决了如何在 Spring Boot 中使用 JDBC 连接 MySQL 后,我就一直在等,等他问我第三个问题,比如说如何在 Spring Boot 中使用 HikariCP 连接池.但我等 ...
- Spring Boot错误–创建在类路径资源DataSourceAutoConfiguration中定义的名称为“ dataSource”的bean时出错...
大家好,如果您使用的是Spring Boot,并且遇到诸如"无法为数据库类型NONE确定嵌入式数据库驱动程序类"或"在类路径资源ataSourceAutoConfigur ...
最新文章
- python简易木马(一)
- Java IO流学习总结二:File
- █年薪20万招聘软件工程师!!!
- DM入门之Apriori小结
- no segments* file found in SimpleFSDirectory问题总结
- Java算法之旋转数组
- 此变量非彼变量(python变量)
- AppCan开发者资料分享(定期更新)
- 阿里巴巴微服务技术实践
- 小米虚拟键透明方法_小米 6 用户该换机了!小米 6 Pro 曝光
- Dual DSI on msm8937
- 福利 | 启迪之星2018首期AI创业加速营免费名额
- python列表遍历元组_Python 元组遍历排序操作方法
- 国外开源IoT平台Thingsboard社区版本(V3.3.2)在Win10环境下进行源码编译及运行指南
- 《Python金融大数据风控建模实战》 第6章 变量分箱方法
- 【axios源码】- 取消请求cancel模块研读解析
- linux shell脚本学习
- Exchange 2016批量新建账号
- 【TypeScript入门】TypeScript入门篇——运算符
- java springboot 微信小程序开发框架源码