SparkStreaming简介 - 与第一个Spark实时计算程序,使用netcat来写数据 - wordcount
官方文档
Spark Streaming 火花流是spark API的扩展,它支持可伸缩、高吞吐量、容错的实时数据流处理。
数据可以从多种来源(如Kafka、Flume、Kinesis或tcp套接字)中摄取,并且可以使用用高级函数表示的复杂算法进行处理,例如map, reduce, join和window…最后,可以将处理过的数据推送到文件系统、数据库和活动仪表板。事实上,你可以申请星火机器学习和图形处理数据流算法。
在内部,它的工作方式如下。火花流接收实时输入数据流,并将数据分成几个批次,然后由火花引擎进行处理,生成最终的结果流。
火花流提供了一个名为离散流或DStream表示连续的数据流。DStreams可以从Kafka、Flume和Kinesis等源的输入数据流中创建,也可以通过对其他DStreams应用高级操作来创建。在内部,dStream表示为RDD
也就是SparkStreaming是用DStream来操作的与Spark Core里RDD操作一样
下面来是第一个程序wordcount
maven配置pom.xml
<!--SparkStreaming--><dependency><groupId>org.apache.spark</groupId><artifactId>spark-streaming_2.11</artifactId><version>2.1.1</version></dependency>
package date_10_16_SparkStreaming
import org.apache.spark.{SparkConf, streaming}
import org.apache.spark.streaming.{Seconds, StreamingContext}
object wordCount {def main(args: Array[String]): Unit = {//使用SparkStreaming完成wordcount//配置对象val conf = new SparkConf().setMaster("local[*]").setAppName("wordcount")//实时数据分析的环境对象//StreamingContext需要两个参数,一个conf,一个是采集周期val streamingContext = new StreamingContext(conf,Seconds(3))//从指定的端口中采集数据val socketLineDstream = streamingContext.socketTextStream("chun1",9999)//将采集的数据进行分解(扁平化)val wordToSumDstream = socketLineDstream.flatMap(_.split(" ")).map((_,1)).reduceByKey(_+_)wordToSumDstream.print()//这里不能停止采集功能,也就是streamingContext不能结束//可以简单理解为启动采集器streamingContext.start()//Driver等待采集器,采集器不挺Driver不停止streamingContext.awaitTermination()}
}
打开虚拟机安装netcat,这里用netcat来写数据
yum install -y nc
安装完成后输入nc -lk 9999
运行上面程序
在netcat输入数据,这里设定的每三秒为一个采集周期
看到的结果如下所示
SparkStreaming简介 - 与第一个Spark实时计算程序,使用netcat来写数据 - wordcount相关推荐
- Apache SparkStreaming 简介和编程模型
1. 简介 图5.22 SparkStreaming[16] Spark Streaming是Spark API核心扩展,提供对实时数据流进行流式处理,具备可扩展.高吞吐和容错等特性.Spark St ...
- Spark 实时电商数据分析及可视化
Spark 实时电商数据分析可视化系统是一个经典的大数据应用项目,技术栈主要有 Flume.Kafka.Spark Streaming.Flask 等,帮助大家了解和运用一些当前热门的大数据处理组件来 ...
- SparkStreaming简介
SparkStreaming简介 1. 什么是SparkStreaming SparkStreaming是流式处理框架,是Spark API的扩展,支持可扩展.高吞吐量.容错的实时数据流处理,实时数据 ...
- Spark实时监控yarn指标:
Spark实时监控yarn指标:实时计算: sparkstreaming.flinkyarn:30T 2000corespark.flink.mr需求: 实时监控yarn资源使用情况项目流程:数据采集 ...
- android php实时聊天工具,Android_Android 应用APP加入聊天功能,简介
自去年 LeanCloud 发布实时 - phpStudy...
Android 应用APP加入聊天功能 简介 自去年 LeanCloud 发布实时通信(IM)服务之后,基于用户反馈和工程师对需求的消化和对业务的提炼,上周正式发布了「实时通信 2.0 」.设计理念依 ...
- 虚幻引擎4简介,UE4简介--这是一个强大的游戏开发引擎
虚幻引擎4简介 这是一个强大的游戏开发引擎 虚幻引擎(Unreal Engine /UE)是EpicGames公司打造的游戏引擎,而UE4则其第四个大版本.虽然目前UE 5已经发布,但是仅仅是发布,U ...
- 手把手教你打造一个企业级实时数据中台【万字图文】
引言--首先来聊聊现代企业数据架构及痛点: 数据孤岛:低效率和利用困难的根源 应用瓶颈:传统方案数据仓库.数据湖的不足 单讲这两个问题你可能会疑惑--为什么会出现这样的问题? 所以下面来讲讲两 ...
- Spark实时进度查询
Spark实时进度查询 大家好,我是一拳就能打爆帕特农神庙柱子的猛男 相信大家都有需求要查询Spark程序执行的进度,所以今天给大家带来Spark实时进度查询的方式整理.我在Spark官网找到了关于S ...
- 一个spark receiver 或多个spark receiver 接收 多个flume agent
1. 利用一个spark receiver 接收多个flume agent String host = args[0];int port = Integer.parseInt(args[1]);Str ...
最新文章
- 加密工具和unlocker的使用
- Android自定义View:MeasureSpec的真正意义与View大小控制
- Java反射机制深入详解
- 关于抢红包的_关于抢红包的作文500字
- 详解void 0与undefined区别
- Linux下的进程相关编程
- 垂直拆分后,遇到瓶颈,数据水平拆分
- 《剑指offer》数组中出现次数超过一半的数字
- Flask之flask-script 指定端口
- mnesia mysql性能,Mnesia数据库的存储容量是多少?
- webpack2入门概念
- python 线程锁_Python多线程-线程锁
- 通过url访问静态资源
- 用c语言编写彩色贪吃蛇,C语言编写【彩色贪吃蛇】
- 基于java的客户关系管理系统
- 怎么用计算机创建wifi,如何用自己电脑开WIFI热点
- 《posix多线程编程》笔记(四)
- Android TV开发--HDMI播放器
- 入门金融数据分析-Task1-数据了解and熟悉赛题
- Java计算机毕业设计实验室耗材管理系统源码+系统+数据库+lw文档