官方文档

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相关推荐

  1. Apache SparkStreaming 简介和编程模型

    1. 简介 图5.22 SparkStreaming[16] Spark Streaming是Spark API核心扩展,提供对实时数据流进行流式处理,具备可扩展.高吞吐和容错等特性.Spark St ...

  2. Spark 实时电商数据分析及可视化

    Spark 实时电商数据分析可视化系统是一个经典的大数据应用项目,技术栈主要有 Flume.Kafka.Spark Streaming.Flask 等,帮助大家了解和运用一些当前热门的大数据处理组件来 ...

  3. SparkStreaming简介

    SparkStreaming简介 1. 什么是SparkStreaming SparkStreaming是流式处理框架,是Spark API的扩展,支持可扩展.高吞吐量.容错的实时数据流处理,实时数据 ...

  4. Spark实时监控yarn指标:

    Spark实时监控yarn指标:实时计算: sparkstreaming.flinkyarn:30T 2000corespark.flink.mr需求: 实时监控yarn资源使用情况项目流程:数据采集 ...

  5. android php实时聊天工具,Android_Android 应用APP加入聊天功能,简介 自去年 LeanCloud 发布实时 - phpStudy...

    Android 应用APP加入聊天功能 简介 自去年 LeanCloud 发布实时通信(IM)服务之后,基于用户反馈和工程师对需求的消化和对业务的提炼,上周正式发布了「实时通信 2.0 」.设计理念依 ...

  6. 虚幻引擎4简介,UE4简介--这是一个强大的游戏开发引擎

    虚幻引擎4简介 这是一个强大的游戏开发引擎 虚幻引擎(Unreal Engine /UE)是EpicGames公司打造的游戏引擎,而UE4则其第四个大版本.虽然目前UE 5已经发布,但是仅仅是发布,U ...

  7. 手把手教你打造一个企业级实时数据中台【万字图文】

    引言--首先来聊聊现代企业数据架构及痛点: 数据孤岛:低效率和利用困难的根源 应用瓶颈:传统方案数据仓库.数据湖的不足   单讲这两个问题你可能会疑惑--为什么会出现这样的问题?   所以下面来讲讲两 ...

  8. Spark实时进度查询

    Spark实时进度查询 大家好,我是一拳就能打爆帕特农神庙柱子的猛男 相信大家都有需求要查询Spark程序执行的进度,所以今天给大家带来Spark实时进度查询的方式整理.我在Spark官网找到了关于S ...

  9. 一个spark receiver 或多个spark receiver 接收 多个flume agent

    1. 利用一个spark receiver 接收多个flume agent String host = args[0];int port = Integer.parseInt(args[1]);Str ...

最新文章

  1. 加密工具和unlocker的使用
  2. Android自定义View:MeasureSpec的真正意义与View大小控制
  3. Java反射机制深入详解
  4. 关于抢红包的_关于抢红包的作文500字
  5. 详解void 0与undefined区别
  6. Linux下的进程相关编程
  7. 垂直拆分后,遇到瓶颈,数据水平拆分
  8. 《剑指offer》数组中出现次数超过一半的数字
  9. Flask之flask-script 指定端口
  10. mnesia mysql性能,Mnesia数据库的存储容量是多少?
  11. webpack2入门概念
  12. python 线程锁_Python多线程-线程锁
  13. 通过url访问静态资源
  14. 用c语言编写彩色贪吃蛇,C语言编写【彩色贪吃蛇】
  15. 基于java的客户关系管理系统
  16. 怎么用计算机创建wifi,如何用自己电脑开WIFI热点
  17. 《posix多线程编程》笔记(四)
  18. Android TV开发--HDMI播放器
  19. 入门金融数据分析-Task1-数据了解and熟悉赛题
  20. Java计算机毕业设计实验室耗材管理系统源码+系统+数据库+lw文档

热门文章

  1. linux上的那些查找的命令
  2. 一个取消事件的简单js例子(事件冒泡与取消默认行为)
  3. discuz 标签详解
  4. jQuery之ajax的跨域获取数据
  5. js和jQuery 获取屏幕高度、宽度
  6. SQL语句大全-珍藏首选
  7. Oracle中用rownum替代Top函数的方法
  8. 打印机打印第一页的问题
  9. 复盘二进制的习题(2)
  10. 自动产生fsm代码的工具_代码自动生成工具