| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 大数据 -> Sparkstreaming -> 正文阅读 |
|
[大数据]Sparkstreaming |
一.今日小故事 毛遂自荐:平原君准备前往楚国游说楚王联合需要几个门徒,毛遂自己推荐自己,平原君同意了.到了楚国,本来一个早上的时间就可以谈拢的,结果到中午都没有结束,毛遂这个就坐不住了,直接站起来说,直接惹怒楚王,但是毛遂呢,也不害怕他,站起来简明了要害关系,最后楚王同意了联合. 二.springStreaming 1.概念说明: 是一个微批处理的实时计算的框架 原理:是把输入数据以某一时间间隔批量的处理,当批处理间隔缩短到秒级时,即可用于处理实时数据流 2.特点特征: 可以和spark core、sparksql等无缝集成, 支持从多种数据源获取数据, 包括kafka,Flume,Twitter、ZeroMQ、Kinesis以及TCP sockets,然后使用诸如map,reduce,join等高级函数进行复杂的算法运算,最后存储到hdfs文件系统,数据库等; 3.应用场景 无状态操作:只关注当前的DStream中的实时数据,例如 只对当前DStream中的数据做正确性校验 状态操作:对有状态的DStream进行操作时,需要依赖之前的数据 例如 统计网站各个模块总的访问量 window操作:对指定时间段范围内的DStream数据进行操作,例如 需要统计一天之内网站各个模块的访问数量 4.代码实现
流程的抽象说明 1.初始化StreamingContext 2.通过创建DStreams来定义数据源 3.通过将转换和输出操作应用于DStream来定义流式计算 4.开始接收数据并使用它进行处理streamingContext.start()。 5.等待处理停止(手动或由于任何错误)使用streamingContext.awaitTermination()。 6.可以使用手动停止处理streamingContext.stop()。 三.SparkStreaming常见问题说明 1.输入DStream和Receivers 输入DStream:即为从数据流源接收的输入数据流的DStream. 内置两类流媒体源: 基本流数据源:hdfs文件,Socket套接字链接,Akka actor等 高级流数据源:包括Kafka,Flume,Kinesis,ZeroMq等数据源 Receivers:每个输入DStream(除文件流之外)均与Receiver相对关联,该对象负责从流源接收数据并将其存储在Spark的内存中进行处理. 2.Dstreams的输出操作 1).oprint():在运行流应用程序的驱动程序节点上打印DStream中每批数据的前十个元素。??? 2).osaveAsTextFiles:将此DStream的内容保存为文本文件 3).osaveAsObjectFiles:将此DStream的内容保存为SequenceFiles序列化Java对象。 4).osaveAsHadoopFiles:将此DStream的内容保存为Hadoop文件。 5).oforeachRDD:最通用的输出运算符,它将函数func应用于从流生成的每个RDD。此函数应将每个RDD中的数据推送到外部系统,例如将RDD保存到文件,或通过网络将其写入数据库。请注意,函数func在运行流应用程序的驱动程序Driver进程中执行。 6).foreach和foreachPartition运行在Worker节点 3.关于SparkStreaming在集群运行时CPU逻辑核心数设置 一个逻辑CPU的资源相当于可以开启一个线程的能力,只有一个的话它就只有一个线程来处理工作,而DStream必须得有一个线程用来接受数据,就没有多余的线程处理数据. 所以需要最少2个cpu用来执行,也就是两个线程 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/24 5:35:53- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |