spark streaming状态操作(sparkstreaming实时处理流程)

技术Spark Structured Streaming的高效处理RunOnceTrigger是怎样进行的Spark Structured Streaming的高效处理RunOnceTrigger是怎样进行的,相信很多没

Spark结构化流如何高效处理RunOnceTrigger?我相信很多没有经验的人都不知所措。为此,本文总结了问题产生的原因及解决方法。希望你能通过这篇文章解决这个问题。

传统上,当人们想到流处理时,就会想到“实时”、“24*7”或“始终开启”之类的词。这可能发生在生产中,数据只会定期到达,例如每小时或每天。在这些情况下,增量处理这些数据仍然是有益的。但是,在集群中运行24*7 Streaming作业似乎有点浪费,每天只需要少量处理就能受益。

幸运的是,在Spark版本中,通过使用结构化流的“运行一次”触发功能,您可以获得Catalyst Optimizer带来的好处以及在集群中运行空闲作业带来的成本节约。

一,Structured Streaming的Triggers

在结构化流中,触发器用于指定流查询产生结果的频率。触发触发器后,Spark将检查新数据是否可用。如果有新数据,查询将从上次触发的位置开始递增执行。如果没有新数据,流将继续休眠,直到触发下一个触发器。

结构化流的默认行为是以尽可能少的延迟运行,触发器将在最后一个触发器被触发后立即运行。对于一些低延迟需求的用例,结构化流支持ProcessingTime触发器,即查询将按照用户提供的时间间隔每分钟触发一次。

虽然这样很好,但是24*7跑是必然的。相反,RunOnce触发器只执行查询一次,然后停止查询。

启动流时会指定触发器。

import org . Apache . spark . SQL . streaming . trigger

//加载您的流式数据帧

val SDF=spark . ReadStream . format(' JSON ')。模式(我的模式)。加载('/in/path ')

//执行转换,然后编写…

sdf.writeStream.trigger(触发器。一次)。格式(“拼花”)。开始('/结束/路径')

二,RunOnce相比Batch高效之处

1,Bookkeeping

当运行执行增量更新的批处理作业时,通常需要处理哪些数据被更新,哪些应该被处理,哪些不应该被处理。结构化流已经为您完成了所有这些。在处理一般的流应用程序时,您应该只关心业务逻辑,而不是低级簿记。

2,表级原子性

大数据处理引擎最重要的特性是它如何容忍错误和失败。ETL作业可能(事实上,经常)失败。如果你的工作失败了,那么你需要确保你的工作输出被清理掉,否则在你下一次成功的工作之后,你会得到重复的或者垃圾的数据。当使用结构化流来编写基于文件的表时,结构化流会在每次成功离开后将每个作业创建的所有文件提交到日志中。当Spark重新读取该表时,它将通过日志识别哪些文件是有效的。这可以确保由故障引入的垃圾不会被下游应用程序消耗。

3,夸runs的状态操作

如果你的数据流可能会产生重复的记录,但是你想一次实现语义,那么如何在批处理中实现呢?使用结构化流,您可以使用dropDuplicates()来实现重复数据消除。配置水印足够长,可以包含几个运行的流作业,这可以确保您不会吹嘘运行过程重复数据。

4,成本节约

运行一个24*7的流作业是很浪费的。在某些情况下,数据计算中的一些延迟是可以接受的,或者数据本身将每小时或每天生成。为了获得上述结构化流的所有好处,您可能会一直人为地占用集群运行程序,但现在,由于触发器只执行一次,因此没有必要一直占用集群。

看完以上内容,你是否掌握了如何在Spark结构化流中高效处理RunOnceTrigger?如果您想学习更多技能或了解更多相关内容,请关注行业资讯频道,感谢您的阅读!

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/149262.html

(1)

相关推荐

  • 撒哈拉沙漠在哪里,撒哈拉沙漠是哪个国家的领土

    技术撒哈拉沙漠在哪里,撒哈拉沙漠是哪个国家的领土撒哈拉不属于哪个国家。只能说很多国家都在撒哈拉沙漠上撒哈拉沙漠在哪里,阿尔及利亚、利比亚、埃及、毛里塔尼亚、马里、尼日尔、乍得苏丹等国的大部分领土都是属于撒哈拉沙漠。早在2

    生活 2021年10月26日
  • 短链接api有哪些(新浪短网址api接口)

    技术如何利用调用新浪短链接/腾讯短链接API接口这篇文章主要为大家展示了“如何利用调用新浪短链接/腾讯短链接API接口”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何利用调

    攻略 2021年12月24日
  • 程序员是怎么阅读源码的

    技术程序员是怎么阅读源码的本篇内容介绍了“程序员是怎么阅读源码的”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!React

    攻略 2021年10月22日
  • 向日葵的特点是什么,向日葵最主要的特点是什么?谢谢

    技术向日葵的特点是什么,向日葵最主要的特点是什么?谢谢向日葵最主要的特点:一向日葵的特点是什么、外形特点向日葵的茎直立生长,植株高度在1-3. 5m之间。它的叶片为广卵形,正反两面都长有绒毛,并且比较粗糙,叶缘处还长有锯

    生活 2021年10月30日
  • 如何进行C#递归算法理解的分析

    技术如何进行C#递归算法理解的分析如何进行C#递归算法理解的分析,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。C#递归算法的理解并不是紧紧感

    攻略 2021年11月16日
  • 狼原文及翻译,文言文《狼》中的词语翻译

    技术狼原文及翻译,文言文《狼》中的词语翻译狼 一屠晚归,担中肉尽,止有剩骨。途中两狼,缀行甚远。  屠惧,投以骨。一狼得骨止,一狼仍从。复投之,后狼止而前狼又至。骨已尽矣。而两狼之并驱如故  屠大窘,恐前后受其敌。

    生活 2021年10月26日