updateStateByKey案例(Scala版本)
来源:互联网 发布:廉租住房软件 编辑:程序博客网 时间:2024/06/18 01:57
package SparkStreaming
import org.apache.spark.SparkConf
import org.apache.spark.streaming.{Seconds, StreamingContext}
/**
* Created by tg on 11/4/16.
*/
object updateStateByKeyPro {
def main(args: Array[String]): Unit = {
val conf=new SparkConf().setAppName("updateStateByKeyPro")
.setMaster("local[2]")
val ssc=new StreamingContext(conf,Seconds(10))
//开启checkpoint
ssc.checkpoint("hdfs://tgmaster:9000/in/ch")
//连接nc(netcat)服务,接收数据源,产生Dtream 对象
val lines=ssc.socketTextStream("localhost",9999)
//分隔单词,并将分隔后的每个单词出现次数记录为1
val pairs=lines.flatMap(_.split(" "))
.map(word=>(word,1))
//调用updateStateByKey算子,统计单词在全局中出现的次数
val result=pairs.updateStateByKey((values:Seq[Int],state:Option[Int])=>{
//创建一个变量,用于记录单词出现次数
var newValue=state.getOrElse(0) //getOrElse相当于if....else.....
for(value <- values){
newValue +=value //将单词出现次数累计相加
}
Option(newValue)
})
//直接输出结果
result.print()
ssc.start() //开启实时计算
ssc.awaitTermination() //等待应用停止
}
}
import org.apache.spark.SparkConf
import org.apache.spark.streaming.{Seconds, StreamingContext}
/**
* Created by tg on 11/4/16.
*/
object updateStateByKeyPro {
def main(args: Array[String]): Unit = {
val conf=new SparkConf().setAppName("updateStateByKeyPro")
.setMaster("local[2]")
val ssc=new StreamingContext(conf,Seconds(10))
//开启checkpoint
ssc.checkpoint("hdfs://tgmaster:9000/in/ch")
//连接nc(netcat)服务,接收数据源,产生Dtream 对象
val lines=ssc.socketTextStream("localhost",9999)
//分隔单词,并将分隔后的每个单词出现次数记录为1
val pairs=lines.flatMap(_.split(" "))
.map(word=>(word,1))
//调用updateStateByKey算子,统计单词在全局中出现的次数
val result=pairs.updateStateByKey((values:Seq[Int],state:Option[Int])=>{
//创建一个变量,用于记录单词出现次数
var newValue=state.getOrElse(0) //getOrElse相当于if....else.....
for(value <- values){
newValue +=value //将单词出现次数累计相加
}
Option(newValue)
})
//直接输出结果
result.print()
ssc.start() //开启实时计算
ssc.awaitTermination() //等待应用停止
}
}
0 0
- updateStateByKey案例(Scala版本)
- updateStateByKey案例(Java版本)
- Spark之SparkStreaming案例-UpdateStateByKey
- Spark Streaming updateStateByKey案例实战和内幕源码解密
- Spark常用算子详解汇总 : 实战案例、Java版本、Scala版本
- 第93课:Spark Streaming updateStateByKey案例实战和内幕源码解密
- 第93讲:Spark Streaming updateStateByKey案例实战和内幕源码
- scala版本kafka createStream
- scala版本kafka createDirectStream
- Top N --Scala版本
- scala版本的wordCount
- 第114课(Scala版本)SparkStreaming+Kafka+Spark SQL+TopN+Mysql 电商广告点击综合案例实战
- gatling、scala、svn 测试案例
- scala spark hbase 操作案例
- 大数据IMF传奇行动绝密课程第93课:SparkStreaming updateStateByKey案例实战和内置源码解密
- scala,spark版本冲突问题
- 垃圾邮件分类(Scala 版本)
- Scala 版本的svm库
- 给定一个自定义函数,random5() 可以随机生成1-5之间的随机数,请利用rondom5()定义一个rondom
- HDU 5935 Car (模拟)
- Ajax对表格中的信息不刷新页面进行更新数据
- Spring中使用Map、Set、List、数组、属性集合的注入方法配置文件
- Http和Https 的概念和区别
- updateStateByKey案例(Scala版本)
- spark SQL 读取mysql中的数据日志分析
- HTML 18.5 表单的布局
- 【dlib代码解读】人脸检测器的训练
- What is representation learning?
- 2016-11-05 临界知识修订建议
- PHP 面向对象:方法重载
- java枚举杂记 2(thinking in java)
- http网络请求返回码