Spark Streaming实现词频计算将结果保存到Mysql数据库(scala)实例。
1)建立Mysql连接池(MysqlPool.scala)
package com.fyy.spark.streaming
import java.sql.{Connection, DriverManager}
import java.util
/**
* @Title: MysqlPool
* @ProjectName SparkStreamingProject
* @Description: 创建MySQL连接池
* @author fanyanyan
*/
object MysqlPool {
private val max = 8 //连接池的连接总数
private val connectionNum = 10 //每次产生的连接数
private var conNum = 0 //当前连接池已经产生的连接数
private val pool = new util.LinkedList[Connection]() //连接池
{
Class.forName("com.mysql.jdbc.Driver")
}
/**
* 释放连接
* @param conn
*/
def closeConnect(conn: Connection) = {
pool.push(conn)
}
/**
* 获取连接
*/
def getConnect(): Connection = {
//同步代码块
AnyRef.synchronized({
if(pool.isEmpty){
for(i <- 1 to connectionNum){
val conn = DriverManager.getConnection("jdbc:mysql://01.server.bd:3306/streaming","root","123456")
pool.push(con