SparkStreamingTest.scala
2024-10-10 14:31:45
/**
* Created by root on 9/8/15.
*/
import org.apache.spark._
import org.apache.spark.rdd.RDD
import org.apache.spark.streaming._
import org.apache.spark.sql.SQLContext object SparkStreamingTest {
def main(args: Array[String]) {
//create a local StreamingContext with two working thread and batch interval of 1 second.
val conf = new SparkConf().setAppName("Spark streaming test").setMaster("local[2]")
val ssc = new StreamingContext(conf, Seconds(10))
//val sc = ssc.sparkContext
val lines = ssc.socketTextStream("localhost", 9999)
val words = lines.flatMap(_.split(" ")) //word count
val pairs = words.map(word => (word, 1))
val wordCounts = pairs.reduceByKey(_ + _)
wordCounts.print() //convert spark streaming to sparksql
words.foreachRDD((rdd: RDD[String], time: Time) => {
val sqlContext = SQLContextSingleton.getInstance(rdd.sparkContext)
import sqlContext.implicits._
val wordsDataFrame = rdd.map(w => Record(w)).toDF()
wordsDataFrame.registerTempTable("words")
val wordsCountDataFrame = sqlContext.sql("select word, count(*) as total from words group by word")
println(s"======================= $time =======================")
wordsCountDataFrame.show()
}) ssc.start()
ssc.awaitTermination()
}
} case class Record(word: String) object SQLContextSingleton {
@transient private var instance: SQLContext = _
def getInstance(sparkContext: SparkContext): SQLContext = {
if (instance == null) {
instance = new SQLContext(sparkContext)
}
instance
}
}
最新文章
- Unity3D Editor 扩展
- Spring Cloud 配置服务
- JS 动画基础
- 一篇不错的讲解Java异常的文章(转载)
- busybox filesystem httpd php-5.5.31 sqlite3 webserver
- 【STL源码学习】STL算法学习之二
- 原生js操作cookie
- jQuery 分割按钮(Split Button)
- Android加载图片OOM错误解决方式
- Asp.Net MVC4.0 官方教程 入门指南之四--添加一个模型
- 【转】Tomcat7.0.42源代码运行环境搭建
- 如何连接远程redis,并且选择某个库进行操作
- 使用JavaScript 操作本地文件
- 火狐兼容window.event.returnValue=false;
- 项目Alpha冲刺(团队)-第五天冲刺
- Alpha(3/10)
- <;? extends T>;和<;? super T>;的理解
- winform 查找控件并获取特定类型控件
- Expo大作战(六)--expo开发模式,expo中exp命令行工具,expo中如何查看日志log,expo中的调试方式
- shell 循环语句
热门文章
- 《Python基础教程(第二版)》学习笔记 ->; 第八章 异常
- 【原】Storm分布式RPC
- Kindle Paperwhite 2使用体验
- Spring Framework 中启动 Redis 事务操作
- SRM 502 DIV1 500pt(DP)
- [COCOS2D-X]AssetsManager
- Linux下文件的权限
- Linux下python升级步骤
- UIImageView旋转任意角度---实现方法
- BZOJ 2243: [SDOI2011]染色 (树链剖分+线段树合并)