spark - 将RDD保存到RMDB(MYSQL)数据库中
SCALA连接数据库批量插入:
scala> import java.sql.DriverManager
scala> var url = "jdbc:mysql://localhost:3306/mydb?useUnicode=true&characterEncoding=utf8"
scala> var username = "cui"
scala> var password = "dbtest"
scala> val conn= DriverManager.getConnection(url,username,password)
scala> val pstat = conn.prepareStatement ("INSERT INTO `TEST` (`ID`, `AGE`) VALUES (?, ?)")
scala> pstat.clearBatch
scala> pstat.setInt(1,501)
scala> pstat.setInt(2,501)
scala> pstat.addBatch
scala> pstat.setInt(1,502)
scala> pstat.setInt(2,502)
scala> pstat.addBatch
scala> pstat.setInt(1,503)
scala> pstat.setInt(2,503)
scala> pstat.addBatch
scala> pstat.executeBatch
res24: Array[Int] = Array(1, 1, 1)
RDD保存到数据库:
Just use foreachPartition to create and execute a SQL statement via JDBC over a batch of records. The code is just normal JDBC code.
import java.sql.DriverManager var data = sc.parallelize(Array( (1,10) ,(1,100), (1,1000), (1,10000),(2,10) ,(2,100), (2,1000), (2,10000) ),2 ) data.foreachPartition(
it =>{
var url = "jdbc:mysql://localhost:3306/mydb?useUnicode=true&characterEncoding=utf8"
val conn= DriverManager.getConnection(url,"username","password")
val pstat = conn.prepareStatement ("INSERT INTO `TEST` (`ID`, `AGE`) VALUES (?, ?)")
for (obj <-it){
pstat.setInt(1,obj._1)
pstat.setInt(2,obj._2)
pstat.addBatch
}
try{
pstat.executeBatch
}finally{
pstat.close
conn.close
}
}
)
spark - 将RDD保存到RMDB(MYSQL)数据库中的更多相关文章
- node 爬虫 --- 将爬取到的数据,保存到 mysql 数据库中
步骤一:安装必要模块 (1)cheerio模块 ,一个类似jQuery的选择器模块,分析HTML利器. (2)request模块,让http请求变的更加简单 (3)mysql模块,node连接mysq ...
- Python实现将图片以二进制格式保存到MySQL数据库中,以及取出:
创建数据库表格式: CREATE TABLE photo ( photo_no int(6) unsigned NOT NULL auto_increment, image MEDIUMBLOB, P ...
- python制作简单excel统计报表3之将mysql数据库中的数据导入excel模板并生成统计图
python制作简单excel统计报表3之将mysql数据库中的数据导入excel模板并生成统计图 # coding=utf-8 from openpyxl import load_workbook ...
- MySQL存储引擎的实际应用以及对MySQL数据库中各主要存储引擎的独特特点的描述
MySQL存储引擎的实际应用以及对MySQL数据库中各主要存储引擎的独特特点的描述: 1.MySQL有多种存储引擎: MyISAM.InnoDB.MERGE.MEMORY(HEAP).BDB(Berk ...
- 通过JSP网页连接MySQL数据库,从MySQL数据库中读出一张表并显示在JSP网页中
1.安装所需软件 ①安装java和tomcat,建立JSP网页最基础的软件②安装MySQL数据库(下载地址:https://www.mysql.com/)③安装Navicat Premium来查看数据 ...
- MySQL数据库中delimiter的作用概述
以下的文章主要是向大家描述的是MySQL数据库中delimiter的作用是什么?我们一般都认为这个命令和存储过程关系不大,到底是不是这样的呢?以下的文章将会给你相关的知识,望你会有所收获. 其实就是告 ...
- PHP往mysql数据库中写入中文失败
该类问题解决办法就是 在建立数据库连接之后,将该连接的编码方式改为中文. 代码如下: $linkID=@mysql_connect("localhost","root&q ...
- 从Mysql数据库中导入导出表结构
1.从Mysql数据库中导入sql表 很简单,只需要一个命令即可搞定:[root@localhost ~]# mysql -uroot -piweb_xxx_mysql iweb < modif ...
- 从SQLSERVER/MYSQL数据库中随机取一条或者N条记录
从SQLSERVER/MYSQL数据库中随机取一条或者N条记录 很多人都知道使用rand()函数但是怎麽使用可能不是每个人都知道 建立测试表 USE [sss] GO ,NAME ) DEFAULT ...
随机推荐
- c++ de-mangle 反编译器命名工具:c++filt
nm *.so | c++filt c++filt symblo
- 【转】ldconfig和ldd用法
ldconfig和ldd用法 一.ldconfig ldconfig --helpUsage: ldconfig [OPTION...]Configure Dynamic Linker Run Tim ...
- mongodb的固定集合(优化效率)
mongodb固定集合(Capped Collection)和大文件管理(GridFS) Capped Collection 固定集合(Capped Collection)是性能出色的有着固定 ...
- 第四届CCF软件能力认证(CSP2015) 第五题(最小花费)题解
[问题描述] C国共有$n$个城市.有$n-1$条双向道路,每条道路连接两个城市,任意两个城市之间能互相到达.小R来到C国旅行,他共规划了$m$条旅行的路线, 第$i$条旅行路线的起点是$s_i$,终 ...
- iOS Xcode的快捷键
将一些搜集和经常使用的快捷键记录下来,方便你我. Command +1~ 8: 跳转到导航区的不同位置 Command +0 :显示/隐藏导航区 Command Alt 1~ 6:在不同检测器之间跳转 ...
- 远程使用Gpupdate(Hash,哈希)
function Start-GPUpdate { param ( [String[]] $ComputerName ) $code ...
- 基于Cloudera Manager5配置HIVE压缩
[Author]: kwu 基于Cloudera Manager5配置HIVE压缩,配置HIVE的压缩.实际就是配置MapReduce的压缩,包含执行结果及中间结果的压缩. 1.基于HIVE命令行的配 ...
- mydumper工作原理 :myownstars专家
http://blog.itpub.net/15480802/viewspace-1465080/
- 通过blktrace, debugfs分析磁盘IO
前几天微博上有同学问我磁盘util达到了100%时程序性能下降的问题,由于信息实在有限,我也没有办法帮太大的忙,这篇blog只是想给他列一下在磁盘util很高的时候如何通过blktrace+debug ...
- [翻译]Python with 语句
With语句是什么? Python's with statement provides a very convenient way of dealing with the situation wher ...