Spark Streaming实现词频计算将结果保存到Mysql数据库(scala)

本文介绍如何使用Scala和Spark Streaming进行词频计算,并将结果存储到Mysql数据库。首先创建Mysql连接池,然后在ForeachRDDApp中实现具体的统计和保存操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值