1. socket消息发送

import java.net.ServerSocket
import java.io.PrintWriter
import scala.collection.mutable.ListBuffer
import java.util.Random /**
* Created by zzy on 8/28/15.
*/ /**
* 模拟socket消息发送
*/
object SparkSoketSender { def main(args: Array[String]) {
if(args.length != 2){ //校验
System.err.println("usage: <port> <time>") //端口 时间(毫秒)
System.exit(1)
} val listener = new ServerSocket(args(0).toInt)
while(true){
val socket = listener.accept()
new Thread(){
override def run = {
println("find connected from : " + socket.getInetAddress())
val out = new PrintWriter(socket.getOutputStream(),true)
while(true){
Thread.sleep(args(1).toLong)
val context = createContext(index)
println(context)
out.write(context + "\n")
out.flush()
}
socket.close()
}
}.start()
}
} def createContext(index:Int) :String= { //发送的内容
val charList = ListBuffer[Char]()
for( i <- 65 to 90){
charList += i.toChar // A B C D E F
}
var arr = charList.toArray
arr(index).toString
} def index = { //产生一个随机数
val num = new Random
num.nextInt(5) // 0 1 2 3 4 5
} }
2.
 
import org.apache.spark.SparkConf
import org.apache.spark.streaming.dstream.PairDStreamFunctions
import org.apache.spark.storage.StorageLevel
import org.apache.spark.streaming.{Seconds, StreamingContext}
import org.apache.spark.streaming.StreamingContext._
/**
* Created by zzy on 8/28/15.
*/
object SparkStreaming {
def main(args: Array[String]) {
if (args.length != 3) {
System.err.println("usage: <hostname> <port> <seconds>") //socket发送的机器 socket消息发送的端口 时间片
System.exit(1)
}
val ssc = new StreamingContext(new SparkConf,Seconds(args(2).toInt)) //输入源 可以有很多种
val lines = ssc.socketTextStream(args(0),args(1).toInt,StorageLevel.MEMORY_ONLY_SER) //网络数据存两份 val words = lines.flatMap(_.split(" ")) //返回DStream checkpoint(interval)必须指定时间 //时间间隔操作
val wc = words.map((_,1)).reduceByKey(_+_) /*window操作*/
// val wc = words.map((_,1)).reduceByKeyAndWindow(_+_, _-_, windowDuration, slideDuration, numPartitions, filterFunc) /* //带状态的操作,使用updateStateByKey
val sDstream = words.map((_,1)).updateStateByKey(updateFunc) //传入保存状态函数
val updateFunc = (currValues: Seq[Int], state: Option[Int]) => {
val currentCount = currValues.foldLeft(0)(_ + _)
// 已累加的结果值
val previousCount = state.getOrElse(0)
// 返回累加后的结果,是一个Option[Int]类型
Some(currentCount + previousCount)
}*/ wc.print()
ssc.start()
ssc.awaitTermination()
} }

3.提交任务

Streaming

spark-submit --class cn.crxy.SocketSender original-testSpark-1.0-SNAPSHOT.jar 2015 1000

spark-submit --class cn.crxy.SparkStreaming original-testSpark-1.0-SNAPSHOT.jar crxy164 2015 10

.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, "Courier New", courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }

Spark之Streaming的更多相关文章

  1. Spark Structured streaming框架(1)之基本使用

     Spark Struntured Streaming是Spark 2.1.0版本后新增加的流计算引擎,本博将通过几篇博文详细介绍这个框架.这篇是介绍Spark Structured Streamin ...

  2. Spark Structured Streaming框架(2)之数据输入源详解

    Spark Structured Streaming目前的2.1.0版本只支持输入源:File.kafka和socket. 1. Socket Socket方式是最简单的数据输入源,如Quick ex ...

  3. Spark的Streaming + Flume进行数据采集(flume主动推送或者Spark Stream主动拉取)

    1.针对国外的开源技术,还是学会看国外的英文说明来的直接,迅速,这里简单贴一下如何看: 2.进入到flume的conf目录,创建一个flume-spark-push.sh的文件: [hadoop@sl ...

  4. Spark2.3(四十二):Spark Streaming和Spark Structured Streaming更新broadcast总结(二)

    本次此时是在SPARK2,3 structured streaming下测试,不过这种方案,在spark2.2 structured streaming下应该也可行(请自行测试).以下是我测试结果: ...

  5. Spark2.2(三十三):Spark Streaming和Spark Structured Streaming更新broadcast总结(一)

    背景: 需要在spark2.2.0更新broadcast中的内容,网上也搜索了不少文章,都在讲解spark streaming中如何更新,但没有spark structured streaming更新 ...

  6. Spark2.2(三十八):Spark Structured Streaming2.4之前版本使用agg和dropduplication消耗内存比较多的问题(Memory issue with spark structured streaming)调研

    在spark中<Memory usage of state in Spark Structured Streaming>讲解Spark内存分配情况,以及提到了HDFSBackedState ...

  7. Spark2.3(三十五)Spark Structured Streaming源代码剖析(从CSDN和Github中看到别人分析的源代码的文章值得收藏)

    从CSDN中读取到关于spark structured streaming源代码分析不错的几篇文章 spark源码分析--事件总线LiveListenerBus spark事件总线的核心是LiveLi ...

  8. Spark2.3(三十四):Spark Structured Streaming之withWaterMark和windows窗口是否可以实现最近一小时统计

    WaterMark除了可以限定来迟数据范围,是否可以实现最近一小时统计? WaterMark目的用来限定参数计算数据的范围:比如当前计算数据内max timestamp是12::00,waterMar ...

  9. Kafka:ZK+Kafka+Spark Streaming集群环境搭建(二十九):推送avro格式数据到topic,并使用spark structured streaming接收topic解析avro数据

    推送avro格式数据到topic 源代码:https://github.com/Neuw84/structured-streaming-avro-demo/blob/master/src/main/j ...

  10. DataFlow编程模型与Spark Structured streaming

    流式(streaming)和批量( batch):流式数据,实际上更准确的说法应该是unbounded data(processing),也就是无边界的连续的数据的处理:对应的批量计算,更准确的说法是 ...

随机推荐

  1. 基本概率分布Basic Concept of Probability Distributions 5: Hypergemometric Distribution

    PDF version PMF Suppose that a sample of size $n$ is to be chosen randomly (without replacement) fro ...

  2. CF 115B Lawnmower(贪心)

    题目链接: 传送门 Lawnmower time limit per test:2 second     memory limit per test:256 megabytes Description ...

  3. 最佳 Linux 发行版汇总

    Linux入门UbuntuUbuntu是一款基于Debian发行版,以Unity作为默认桌面环境的Linux操作系统.他是世界上最流行的发行版之一,每次发行,它都有提升.最新发行版为桌面.移动及其桌面 ...

  4. 【项目】UICollectionViewFlowlayout再一次自定义

    项目中好友列表需要使用UICollection完成,加入了长按点击颤抖删除按钮

  5. 深入JVM-锁与并发

    一.锁在Java虚拟机中的实现与优化 1.1 偏向锁 偏向锁是JDK 1.6 提出的一种锁优化方式.其核心思想是,如果程序没有竞争,则取消之前已经取得锁的线程同步操作.也就说,若某一锁被线程获取后,便 ...

  6. Java——Selector

  7. C++ typedef用法小结 (※不能不看※)

    C++ typedef用法小结 (※不能不看※) 第一.四个用途 用途一: 定义一种类型的别名,而不只是简单的宏替换.可以用作同时声明指针型的多个对象.比如:char* pa, pb; // 这多数不 ...

  8. centos6.5yum方式升级内核

    升级内核需要使用elrepo的yum源,在安装yum源之前还需要我们导入elrepo的key,如下:rpm -import https://www.elrepo.org/RPM-GPG-KEY-elr ...

  9. OBJ Loader Source Code

    https://github.com/ChrisJansson/ObjLoader http://www.codeproject.com/Articles/798054/SimpleScene-d-s ...

  10. LaTex数学符号

    http://web.ift.uib.no/Teori/KURS/WRK/TeX/symALL.html