Spark运行WordCount结果存入mysql数据库
来源:互联网 发布:定时任务软件 编辑:程序博客网 时间:2024/06/16 09:49
我们在intellij Idea中新建scala工程,
具体代码
import java.sql.{DriverManager, PreparedStatement, Connection}import org.apache.spark.{SparkContext, SparkConf}/** * Created by xubowen on 2017/4/9. */object RDDtoMysql { def Insert(iterator: Iterator[(String, Int)]): Unit = { var conn: Connection = null var ps: PreparedStatement = null val database = "sparks" val user = "root" val password = "xbw" val conn_str = "jdbc:mysql://localhost:3306/"+database+"?user="+user+"&password="+password val sql = "INSERT INTO spark (username,number) VALUES (?, ?)" try { conn = DriverManager.getConnection(conn_str) iterator.foreach(data => { ps = conn.prepareStatement(sql) ps.setString(1, data._1) ps.setInt(2, data._2) ps.executeUpdate() }) } catch { case e: Exception => println("Mysql Exception") } finally { if (ps != null) { ps.close() } if (conn != null) { conn.close() } } } def main(args: Array[String]): Unit = { val conf = new SparkConf().setAppName("RDDToMysql").setMaster("local") val sc = new SparkContext(conf) //val lines= sc.textFile("file:///Users/xubowen/Desktop/spark.txt", 1) val lines= sc.textFile(args(0), 1) val words = lines.flatMap { line => line.split(" ") } //words同样是RDD类型 val pairs = words.map { word => (word,1) } val wordCounts = pairs.reduceByKey(_+_) //对相同的key,进行value的累加(包括Local和Reducer级别同时Reduce) wordCounts.foreachPartition(Insert) }}
打包为jar文件,file->project structure->artifacts->+ jar->name->output layout->+ module output->工程->ok->build->build artifacts->build 在目录中找到jar上传到服务器。
新建hdfs文件夹
hadoop fs -mkdir /input
放文件到hdfs
hadoop fs -put /root/file/spark.txt /input
spark-submit --master spark://master:10086 --name RDDToMysql --class RDDtoMysql --executor-memory 1G --total-executor-cores 2 --jars /home/examples/mysql.jar /home/examples/RDDtoMysql.jar hdfs://master:10086/input/spark.txt
我们可以在数据库看到结果了。
数据庞大,我只拉取了部分。
0 0
- Spark运行WordCount结果存入mysql数据库
- 利用Spark解析Tomcat日志,并将统计结果存入Mysql数据库
- 利用Spark解析Tomcat日志,并将统计结果存入Mysql数据库
- spark wordcount 提交运行
- Spark运行原理-WordCount解密
- Spark在Yarn上运行Wordcount程序
- java调用spark的借口运行WordCount
- eclipse编写wordcount提交spark运行
- Spark安装并运行WordCount示例
- spark集群上运行helloworld程序--WordCount
- idea运行spark的wordcount与eclipse运行spark的wordcount示例,及本地运行sparkpi
- 把图片存入mysql数据库
- excel数据表存入mysql数据库
- hibernate存入数据库乱码mysql
- spark对wordcount结果集排序(JAVA)
- spark-wordcount
- Spark-wordcount
- wordcount spark...
- 单链表翻转
- VBA代码实例---高级筛选
- python 不是内部或外部命令解决方法
- 进程间通信的方式——匿名管道
- 时间格式化
- Spark运行WordCount结果存入mysql数据库
- 数字图像基础理论:频谱vs功率谱vs能谱
- bzoj1477青蛙的约会
- Android抓包方法(一) 之Fiddler代理
- 自学Qt之路——串口编程(使用第三方提供的类)
- 【C#】执行费时操作时提醒框的添加(开线程)
- AndroidStudio——TextView文字左右滚动(跑马灯效果)无效解决办法
- 欧几里得拓展算法求模逆元
- Android抓包方法(二) 之Tcpdump命令+Wireshark