sparkStream---1
1.本地scala版
import org.apache.spark._
import org.apache.spark.streaming._
import org.apache.spark.streaming.StreamingContext._ object SparkStreamingDemo {
def main(args: Array[String]): Unit = {
//local[n] n > 1
val conf = new SparkConf().setMaster("local[2]").setAppName("NetworkWordCount")
//创建Spark流上下文,批次时长是1s
val ssc = new StreamingContext(conf, Seconds()) //创建socket文本流
val lines = ssc.socketTextStream("localhost", )
//压扁
val words = lines.flatMap(_.split(" "))
//变换成对偶
val pairs = words.map((_,)); val count = pairs.reduceByKey(_+_) ;
count.print() //启动
ssc.start() //等待结束
ssc.awaitTermination()
}
}

2.java版的,本地
import org.apache.spark.SparkConf;
import org.apache.spark.api.java.Optional;
import org.apache.spark.api.java.function.FlatMapFunction;
import org.apache.spark.api.java.function.Function2;
import org.apache.spark.api.java.function.PairFunction;
import org.apache.spark.streaming.Seconds;
import org.apache.spark.streaming.api.java.JavaDStream;
import org.apache.spark.streaming.api.java.JavaPairDStream;
import org.apache.spark.streaming.api.java.JavaReceiverInputDStream;
import org.apache.spark.streaming.api.java.JavaStreamingContext;
import scala.Some;
import scala.Tuple2; import java.util.ArrayList;
import java.util.Iterator;
import java.util.List; /**
* Created by Administrator on 2017/4/3.
*/
public class JavaSparkStreamingWordCountApp {
public static void main(String[] args) throws Exception {
SparkConf conf = new SparkConf();
conf.setAppName("wc");
conf.setMaster("local[4]");
//创建Spark流应用上下文
JavaStreamingContext jsc = new JavaStreamingContext(conf, Seconds.apply()); jsc.checkpoint("file:///d:/scala/check");
//创建socket离散流
JavaReceiverInputDStream sock = jsc.socketTextStream("localhost",);
//压扁
JavaDStream<String> wordsDS = sock.flatMap(new FlatMapFunction<String,String>() {
public Iterator call(String str) throws Exception {
List<String> list = new ArrayList<String>() ;
String[] arr = str.split(" ");
for(String s : arr){
list.add(s);
}
return list.iterator();
}
}); //映射成元组
JavaPairDStream<String,Integer> pairDS = wordsDS.mapToPair(new PairFunction<String, String, Integer>() {
public Tuple2<String, Integer> call(String s) throws Exception {
return new Tuple2<String,Integer>(s,);
}
}) ; JavaPairDStream<String,Integer> jps = pairDS.updateStateByKey(new Function2<List<Integer>, Optional<Integer>, Optional<Integer>>() {
public Optional<Integer> call(List<Integer> v1, Optional<Integer> v2) throws Exception {
Integer newCount = v2.isPresent() ? v2.get() : ; System.out.println("old value : " + newCount);
for(Integer i : v1){
System.out.println("new value : " + i);
newCount = newCount + i;
}
return Optional.of(newCount);
}
}); //聚合
JavaPairDStream<String,Integer> countDS = jps.reduceByKey(new Function2<Integer, Integer, Integer>() {
public Integer call(Integer v1, Integer v2) throws Exception {
return v1 + v2;
}
}); //打印
countDS.print(); jsc.start(); jsc.awaitTermination(); jsc.stop();
}
}
3.集群跑。
将文件打成jar包,放到远程机器中
spark-submit --name wcstreaming
--class com.spark.java.JavaSparkStreamingWordCountApp
//上面是包名加类名
--master spark://s201:7077
SparkDemo1-1.0-SNAPSHOT.jar

sparkStream---1的更多相关文章
- SparkStream:4)foreachRDD详解
		转载自:http://blog.csdn.net/jiangpeng59/article/details/53318761 foreachRDD通常用来把SparkStream运行得到的结果保存到外部 ... 
- 064 SparkStream与kafka的集成,主要是编程
		这里面包含了如何在kafka+sparkStreaming集成后的开发,也包含了一部分的优化. 一:说明 1.官网 指导网址:http://spark.apache.org/docs/1.6.1/st ... 
- 060 SparkStream 的wordcount示例
		1.SparkStream 入口:StreamingContext 抽象:DStream 2.SparkStreaming内部原理 当一个批次到达的时候,会产生一个rdd,这个rdd的数据就是这个批次 ... 
- 059 SparkStream介绍
		离线计算框架:MR,hive-->对时间要求不严格 实时计算框架:SparkCore-->要求job执行时间比较快 交互式计算框架:SparkSQL,Hive,-->提供SQL操作的 ... 
- 九、sparkStream的scala示例
		简介 sparkStream官网:http://spark.apache.org/docs/latest/streaming-programming-guide.html#overview spark ... 
- Flume+kakfa+sparkStream实时处理数据测试
		flume:从数据源拉取数据 kafka:主要起到缓冲从flume拉取多了的数据 sparkStream:对数据进行处理 一.flume拉取数据 1.源数据文件读取配置 在flume目录的 ... 
- 记录下sparkStream的做法(scala)
		一直用storm做实时流的开发,之前系统学过spark但是一直没做个模版出来用,国庆节有时间准备做个sparkStream的模板用来防止以后公司要用.(功能模拟华为日常需求,db入库hadoop环境) ... 
- 【Spark篇】---SparkStream初始与应用
		一.前述 SparkStreaming是流式处理框架,是Spark API的扩展,支持可扩展.高吞吐量.容错的实时数据流处理,实时数据的来源可以是:Kafka, Flume, Twitter, Zer ... 
- 063 SparkStream数据接收方式
		1.两种方式 2.Basic Source 由StreamingContext可以提供的API 上面做的wordcount中的方式就算是第一种方式. 3.Advanced Source 使用数据接收器 ... 
- 062 SparkStream内部原理
		1.DStream 内部是一系列的RDD组成的,每个RDD与RDD的产生时间形成一个pair保存在内存中(下面有) RDD包含了对应时间段的所有block数据. 2.DStream下的方法 /** T ... 
随机推荐
- Spark2 jar存档
			spark.yarn.archive需要手动将spark应用依赖jar上传到hdfs,该属性可以避免每一次运行spark应用时都重复打zip包上传到hdfs. 官网http://spark.apach ... 
- 【西北大学2019新生赛】序列排序II
			原题: 想了很久,想的是模仿冒泡,从大到小检查每一个数后面的数是否都与它互质,然后把它设为1(等价于放到最后不考虑) 然后一直想数据结垢 出来跟人交流,“这不是挺典型的思维题么哈哈哈” 利用性质: 调 ... 
- java学习笔记15-封装
			把属性(成员变量)设置为私有(private),把方法设置为共有的(public),假如外界想要得到或者改变某个属性,只能通过方法来办到,这其实是封装的思想之一. 新建一个Student类,这个类有几 ... 
- 阿里云服务器搭建gitlab
			参考这位大神的博客 https://blog.csdn.net/zhaoyanjun6/article/details/79144175 安装邮件通知服务系统时,报了如下错误:send-mail: f ... 
- BCB6 调用C# DLL
			最近项目涉及第三方接口调用.第三方是用C#实现的WCF服务.而我们的程序是使用的BCB6开发.因此,打算将与WCF的通讯包含在C#的类库中,给BCB6调用.BCB6 是无法直接调用C#的DLL,但可以 ... 
- mysql查询表中最后一条记录
			查询全部的记录: select * from test_limit ; 查第一条记录: select * from test_limit limit 1; ... 
- maven 安装第三方jar到本地 出现 The goal you specified requires a project to execute but there is no POM in this directory 错误
			原因是因为操作系统的差异导致,把所有参数加上引号即可. 如下所示: mvn install:install-file "-Dfile=cobra.jar" "-Dgrou ... 
- harbor1.9.0 仓库的搭建
			配置及文中的xxx 为你自己的配置信息 1.创建目录 mkdir -p /data/soft cd /data/soft 2.安装docker-composer 2.1官方安装 c ... 
- 慕课网SSMOA办公系统
			目录 需求分析 1 用例图 系统设计 包及全局配置 数据库设计 工具类 具体功能实现 1 dao层功能实现 2 编码过滤器及登陆拦截器 3 单元测试 遇到的问题总结 1 新建一个Modul不会打开新页 ... 
- 【题解】在你窗外闪耀的星星-C++
			题目题目描述飞逝的的时光不会模糊我对你的记忆.难以相信从我第一次见到你以来已经过去了3年.我仍然还生动地记得,3年前,在美丽的集美中学,从我看到你微笑着走出教室,你将头向后仰,柔和的晚霞照耀着你玫瑰色 ... 
