栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

spark:用Scala写离线日志分析并把结果存储到MySQL

spark:用Scala写离线日志分析并把结果存储到MySQL

使用工具:IDEA

Scala版本:2.12.15

日志可以到这里下载:testlog7.log-spark文档类资源-CSDN下载

也可以用代码生成:Scala模拟日志生成_一个人的牛牛的博客-CSDN博客

一定要在数据库中建表!!!!!

import java.sql.{Connection, DriverManager, PreparedStatement}
import org.apache.spark.{SparkConf, SparkContext}

//MySQL表,www是表名
case class www(
              www: String,   //列名,数据格式String
              count: Int   //列名,数据格式Int
              )

object Www {
  def main(args: Array[String]): Unit = {
    val conf = new SparkConf().setMaster("local").setAppName("Count")
    val sc = new SparkContext(conf);
    //导入日志数据
    val data = sc.textFile("F:Scala\test\bighomework\testlog7.log")
    //数据处理
    val webcount = data.map{line=>
      val web = line.split("_")(5) //用“_”下划线分割,5是想要的数据的位置
      (web)}.map((_,1))  //map
      .reduceByKey(_+_)  //reduce累加
      .sortBy(_._2, false) //倒序排序
      .collect() //收集数据
      .take(5)  //输出前5
    //.foreach(println(_)) //没有写人MySQL的话用来输出

    sc.stop()
    println("yes")

    webcount.foreach(
      rdd=>{
        val url = "jdbc:mysql://192.168.17.140:3306/hive?useUnicode=true&characterEncoding=UTF-8"
        //192.168.17.140是我的主机IP地址,可以用localhost。hive是我的数据库名
        val user = "root" //MySQL用户名
        val password = "123456789" //MySQL密码
        Class.forName("com.mysql.jdbc.Driver").newInstance()
        var conn: Connection = DriverManager.getConnection(url,user,password)
        val sql = "insert into www(www,count) values(?,?)"
        //第一个www是表名,(www,count)是列名
        var stmt : PreparedStatement = conn.prepareStatement(sql)
        stmt.setString(1,rdd._1.toString)
        stmt.setString(2,rdd._2.toString)
        stmt.executeUpdate()
        conn.close()
        //输出结果
        println("yes I get it!!!!")
        webcount.foreach(println(_)) 
      }
    )


  }
}

谢谢!!!

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/676999.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号