package com.immooc.spark
import org.apache.spark.{SparkConf, rdd}
import org.apache.spark.rdd.RDD
import org.apache.spark.storage.StorageLevel
import org.apache.spark.streaming.{Seconds, StreamingContext, Time}
import org.apache.spark.sql.SparkSession
object SqlNetworkWordCount {
def main(args: Array[String]): Unit = {
var sparkConf = new SparkConf().setMaster("local[2]").setAppName("SqlNetworkWordCount")
val ssc = new StreamingContext(sparkConf, Seconds(5))
val lines = ssc.socketTextStream("localhost", 9998)
// val result = lines.flatMap(_.split(" ")).map((_, 1)).reduceByKey(_ + _)
val words = lines.flatMap(_.split(" "))
words.foreachRDD { (rdd: RDD[String], time: Time) =>
val spark = SparkSessionSingleton.getInstance(rdd.sparkContext.getConf)
import spark.implicits._
val wordsDataFrame = rdd.map(w => Record(w)).toDF()
wordsDataFrame.createOrReplaceTempView("words")
val wordCountsDataFrame = spark.sql("select word, count(*) as total from words group by word")
println(s"========== $time ============")
wordCountsDataFrame.show()
}
ssc.start()
ssc.awaitTermination()
}
case class Record(word: String)
object SparkSessionSingleton{
@transient private var instance: SparkSession = _
def getInstance(sparkConf: SparkConf): SparkSession = {
if (instance == null) {
instance = SparkSession
.builder
.config(sparkConf)
.getOrCreate()
}
instance
}
}
}
spark streaming 中使用 spark sql
原创fox64194167 博主文章分类:spark streaming ©著作权
©著作权归作者所有:来自51CTO博客作者fox64194167的原创作品,请联系作者获取转载授权,否则将追究法律责任
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
Spark Streaming 使用
spark 参数; 日志查看;性能调优;一致性问题
sparkstreaming -
Spark Streaming(四)—— Spark Streaming输出
输出操作允许DStream的操作推到如数据库、文件系统等外部系统中。本文主要以举例的方式讲述Spark Streaming常用的输出。
spark streaming spark apache SQL -
Spark Streaming(一)—— Spark Streaming介绍
介绍Spark Streaming的特点、概念及常用的实时计算引擎的对比,讲述Spark Streaming内部结构,StreamingContext对象创建的两种方式,离散流DStream及窗口。
spark streaming spark Streaming apache -
Spark Streaming
使用Spark Streaming统计HDFS文件的词频Demo02_HDFSWordCountpackage cn.kgc.s
spark 大数据 apache 数据 -
Spark Streaming中整合Spark SQL与HDFS
Spark Streaming整合HDFS与Spark SQL
spark apache hadoop -
【Spark Streaming】Spark Day10:Spark Streaming 学习笔记
Spark Day10:Spark Streaming01-[了解]-昨日课程内容回顾
机器学习 算法 spark 数据 apache -
spark: Spark streaming word count
通过TCP端口9999获取数据,并进行单词计数。
spark 大数据 分布式 apache ci