spark mysql读写
val data2Mysql2 = (iterator: Iterator[(String, Int)]) => {
var conn: Connection = null;
var ps: PreparedStatement = null
val sql = "Insert into location_info(location,counts,accesse_date) values(?,?,?)"
try {
conn = DriverManager.getConnection("jdbc://localhist:3306/bigdata","root","root")
//整个分区的数据用了一个conn
iterator.foreach(line =>{
ps = conn.prepareStatement(sql)
ps.setString(,line._1)
ps.setInt(,line._2)
ps.setDate(,new Date(System.currentTimeMillis()))
ps.executeUpdate()
})
} catch {
case e: Exception => println("Mysql Exception")
} finally {
if (ps != null) ps.close()
if (conn != null) conn.close()
}
rddres2.foreachPartition(data2MySQL)
def mysql2Spark(){
val conf = new SparkConf().setAppName("JdbcRDDDemo").setMaster("local[2]")
val sc = new SparkContext(conf)
val connection = () => {
Class.forName("com.mysql.jdbc.Driver").newInstance()
DriverManager.getConnection("jdbc:mysql://localhost:3306/bigdata", "root", "root")
}
val jdbcRDD = new JdbcRDD(
sc,
connection,
//location_info(location,counts
"SELECT id, location FROM location_info where id >= ? AND id <= ?",
, , ,
r => {
val id = r.getInt()
val code = r.getString()
(id, code)
}
)
val jrdd = jdbcRDD.collect()
println(jdbcRDD.collect().toBuffer)
sc.stop()
}
spark mysql读写的更多相关文章
- 如何在spark中读写cassandra数据 ---- 分布式计算框架spark学习之六
由于预处理的数据都存储在cassandra里面,所以想要用spark进行数据分析的话,需要读取cassandra数据,并把分析结果也一并存回到cassandra:因此需要研究一下spark如何读写ca ...
- spark MySQL jar 包
/** * Created by songcl on 2016/6/24. */ import java.sql.DriverManager //val sqlContext = new org.ap ...
- mysql读写分离(PHP类)
mysql读写分离(PHP类) 博客分类: php mysql 自己实现了php的读写分离,并且不用修改程序 优点:实现了读写分离,不依赖服务器硬件配置,并且都是可以配置read服务器,无限扩展 ...
- amoeba实现MySQL读写分离
amoeba实现MySQL读写分离 准备环境:主机A和主机B作主从配置,IP地址为192.168.131.129和192.168.131.130,主机C作为中间件,也就是作为代理服务器,IP地址为19 ...
- PHP代码实现MySQL读写分离
关于MySQL的读写分离有几种方法:中间件,Mysql驱动层,代码控制 关于中间件和Mysql驱动层实现Mysql读写分离的方法,今天暂不做研究, 这里主要写一点简单的代码来实现由PHP代码控制MyS ...
- 转:Mysql读写分离实现的三种方式
1 程序修改mysql操作类可以参考PHP实现的Mysql读写分离,阿权开始的本项目,以php程序解决此需求.优点:直接和数据库通信,简单快捷的读写分离和随机的方式实现的负载均衡,权限独立分配缺点:自 ...
- 使用Atlas实现MySQL读写分离+MySQL-(Master-Slave)配置
参考博文: MySQL-(Master-Slave)配置 本人按照博友北在北方的配置已成功 我使用的是 mysql5.6.27版本. 使用Atlas实现MySQL读写分离 数据切分——Atlas读 ...
- MySQL读写分离技术
1.简介 当今MySQL使用相当广泛,随着用户的增多以及数据量的增大,高并发随之而来.然而我们有很多办法可以缓解数据库的压力.分布式数据库.负载均衡.读写分离.增加缓存服务器等等.这里我们将采用读写分 ...
- php实现MySQL读写分离
MySQL读写分离有好几种方式 MySQL中间件 MySQL驱动层 代码控制 关于 中间件 和 驱动层的方式这里不做深究 暂且简单介绍下 如何通过PHP代码来控制MySQL读写分离 我们都知道 &q ...
随机推荐
- [转]Clean Code Principles: Be a Better Programmer
原文:https://www.webcodegeeks.com/web-development/clean-code-principles-better-programmer/ ----------- ...
- wifidog 移植到MIPS平台
使用的是一款Broadcom的芯片,现在上面运行wifidog实现认证上网的功能.由于不是openwrt平台,所以就没了make menuconfig 勾选就能自动编译到版本中的.所以想使用交叉编译的 ...
- iOS核心动画 - CALayer
大家知道,在iOS中所有的视图都继承自UIView. UIView处理所有的触摸事件和画图. 事实上,UIView所有的渲染和动画是托管给另一个类来负责的,它就是CALayer. 但是,需要记住的是, ...
- android源代码在线阅读
http://grepcode.com/project/repository.grepcode.com/java/ext/com.google.android/android/
- CSS中的margin、border和padding的区别
aaarticlea/gif;base64,R0lGODlhuQEbAbMAAP8AM8zMzGZmYszMmZmZZkIP/5qE/8zM/wICApmZmf//zP///wAAAAAAAAAAAA
- QtGui.QFileDialog
The QtGui.QFileDialog is a dialog that allows users to select files or directories. The files can be ...
- 一个字符串是否在另外一个字符串数组里 Array.Exists 的用法 Array.IndexOf 用法
转: using System; class Program { static void Main() { string[] array = { "cat", "dot& ...
- 解决 android sdk 下载慢
1. 配置host: 74.125.237.1 dl-ssl.google.com 2.设置强制使用http连接
- linux内核——进程切换宏switch_to
该宏有三个参数:prev, next, last.它们都是局部变量. prev:输入参数,变量值为旧进程描述符的地址. next:输入参数,变量值为新进程描述符的地址. last:输出参数,用来记录该 ...
- MongoDB 日志太大怎么办?
MongoDB的日志增长的非常快,/var所在的空间立即就占满了,即便换到还有一个磁盘分区保存日志.日志还是增长的非常快.磁盘眼看要告磬. 有一个好办法,就是使用旋转日志. MongoDB的旋转日志有 ...