返回顶部
首页 > 资讯 > 精选 >Spark Structured Streaming的特性是什么
  • 321
分享到

Spark Structured Streaming的特性是什么

2023-06-19 13:06:24 321人浏览 薄情痞子
摘要

本篇文章为大家展示了spark Structured Streaming的特性是什么,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。下面介绍了Structured Streaming的基本概念,及其在

本篇文章为大家展示了spark Structured Streaming的特性是什么,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

下面介绍了Structured Streaming的基本概念,及其在存储、自动流化、容错、性能等方面的特性,在事件时间的处理机制,最后带来了一些实际应用场景。

首先,TD对流处理所面对的问题和概念做了清晰的讲解。TD提到,因为流处理具有如下显著的复杂性特征,所以很难建立非常健壮的处理过程:

Spark Structured Streaming的特性是什么

  • 一是数据有各种不同格式(Jason、Avro、二进制)、脏数据、不及时且无序;

  • 二是复杂的加载过程,基于事件时间的过程需要支持交互查询,和机器学习组合使用;

  • 三是不同的存储系统和格式(sqlNoSQL、Parquet等),要考虑如何容错。

因为可以运行在Spark SQL引擎上,Spark Structured Streaming天然拥有较好的性能、良好的扩展性及容错性等Spark优势。除此之外,它还具备丰富、统一、高层次的api,因此便于处理复杂的数据和工作流。再加上,无论是Spark自身,还是其集成的多个存储系统,都有丰富的生态圈。这些优势也让Spark Structured Streaming得到更多的发展和使用。

流的定义是一种无限表(unbounded table),把数据流中的新数据追加在这张无限表中,而它的查询过程可以拆解为几个步骤,例如可以从kafka读取JSON数据,解析jsON数据,存入结构化Parquet表中,并确保端到端的容错机制。其中的特性包括:

  • 支持多种消息队列,比如Files/Kafka/Kinesis等。

  • 可以用join(), uNIOn()连接多个不同类型的数据源。

  • 返回一个DataFrame,它具有一个无限表的结构。

  • 你可以按需选择SQL(BI分析)、DataFrame(数据科学家分析)、DataSet(数据引擎),它们有几乎一样的语义和性能。

  • 把Kafka的JSON结构的记录转换成String,生成嵌套列,利用了很多优化过的处理函数来完成这个动作,例如from_json(),也允许各种自定义函数协助处理,例如Lambdas, flatMap。

  • 在Sink步骤中可以写入外部存储系统,例如Parquet。在Kafka sink中,支持foreach来对输出数据做任何处理,支持事务和exactly-once方式。

  • 支持固定时间间隔的微批次处理,具备微批次处理的高性能性,支持低延迟的连续处理(Spark 2.3),支持检查点机制(check point)。

  • 秒级处理来自Kafka的结构化源数据,可以充分为查询做好准备。

Spark SQL把批次查询转化为一系列增量执行计划,从而可以分批次地操作数据。

Spark Structured Streaming的特性是什么

在容错机制上,Structured Streaming采取检查点机制,把进度offset写入stable的存储中,用JSON的方式保存支持向下兼容,允许从任何错误点(例如自动增加一个过滤来处理中断的数据)进行恢复。这样确保了端到端数据的exactly-once。

在性能上,Structured Streaming重用了Spark SQL优化器和Tungsten引擎,而且成本降低了3倍!!更多的信息可以参考作者的blog。

Structured Streaming隔离处理逻辑采用的是可配置化的方式(比如定制JSON的输入数据格式),执行方式是批处理还是流查询很容易识别。同时TD还比较了批处理、微批次-流处理、持续流处理三种模式的延迟性、吞吐性和资源分配情况。

在时间窗口的支持上,Structured Streaming支持基于事件时间(event-time)的聚合,这样更容易了解每隔一段时间发生的事情。同时也支持各种用户定义聚合函数(User Defined Aggregate Function,UDAF)。另外,Structured Streaming可通过不同触发器间分布式存储的状态来进行聚合,状态被存储在内存中,归档采用hdfs的Write Ahead Log (WAL)机制。当然,Structured Streaming还可自动处理过时的数据,更新旧的保存状态。因为历史状态记录可能无限增长,这会带来一些性能问题,为了限制状态记录的大小,Spark使用水印(watermarking)来删除不再更新的旧的聚合数据。允许支持自定义状态函数,比如事件或处理时间的超时,同时支持Scala和Java。

TD在演讲中也具体举例了流处理的应用情况。在苹果的信息安全平台中,每秒将产生有百万级事件,Structured Streaming可以用来做缺陷检测,下图是该平台架构

Spark Structured Streaming的特性是什么

在该架构中,一是可以把任意原始日志通过ETL加载到结构化日志库中,通过批次控制可很快进行灾难恢复;二是可以连接很多其它的数据信息(DHCP session,缓慢变化的数据);三是提供了多种混合工作方式:实时警告、历史报告、ad-hoc分析、统一的API允许支持各种分析(例如实时报警系统)等,支持快速部署。四是达到了百万事件秒级处理性能。

上述内容就是Spark Structured Streaming的特性是什么,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注编程网精选频道。

--结束END--

本文标题: Spark Structured Streaming的特性是什么

本文链接: https://lsjlt.com/news/296145.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Spark Structured Streaming的特性是什么
    本篇文章为大家展示了Spark Structured Streaming的特性是什么,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。下面介绍了Structured Streaming的基本概念,及其在...
    99+
    2023-06-19
  • 周期性清除Spark Streaming流状态的方法是什么
    本篇文章为大家展示了周期性清除Spark Streaming流状态的方法是什么,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。在Spark Streaming程序中,我们经常需要使用有状态的流来统计一...
    99+
    2023-06-19
  • Spark Streaming反压机制是怎么样的
    本篇文章为大家展示了Spark Streaming反压机制是怎么样的,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。背景在默认情况下,Spark Streaming 通过 receivers (或者是...
    99+
    2023-06-19
  • spark的四大特点是什么
    高速性:Spark 是一个基于内存计算的分布式计算框架,可以比传统的 MapReduce 作业快上几个数量级,因为它可以在内存中...
    99+
    2024-04-02
  • Hive中structured、semi-structured、unstructured是什么意思
    这篇文章给大家分享的是有关Hive中structured、semi-structured、unstructured是什么意思的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。结构化数据(structured)、半结构...
    99+
    2023-06-03
  • Beam和Spark Streaming之间有什么异同点
    Beam和Spark Streaming都是流处理框架,但它们有一些不同点: 定位:Beam是一个统一的流处理框架,支持多种运行时...
    99+
    2024-04-02
  • 如何理解Spark Streaming的数据可靠性和一致性
    如何理解Spark Streaming的数据可靠性和一致性,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。眼下大数据领域最热门的词汇之一便是流计算了,其中最耀眼的项目无疑是来自S...
    99+
    2023-06-19
  • Spark性能优化的基础是什么
    Spark性能优化的基础是什么,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。前言在大数据计算领域,Spark已经成为了越来越流行、越来越受欢迎的计算平台之一。Spark的功...
    99+
    2023-06-03
  • MySQL的特性是什么
    这篇文章主要介绍MySQL的特性是什么,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗...
    99+
    2024-04-02
  • node.js的特性是什么
    本文小编为大家详细介绍“node.js的特性是什么”,内容详细,步骤清晰,细节处理妥当,希望这篇“node.js的特性是什么”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。 ...
    99+
    2024-04-02
  • JS的特性是什么
    这篇文章主要介绍“JS的特性是什么”,在日常操作中,相信很多人在JS的特性是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”JS的特性是什么”的疑惑有所帮助!接下来,请跟着...
    99+
    2024-04-02
  • Python的特性是什么
    本篇内容主要讲解“Python的特性是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python的特性是什么”吧!我们***从最难的问题开始:“到底什么是函数编程 (FP)?”一个答案可能会...
    99+
    2023-06-17
  • Shiro的特性是什么
    这篇文章主要介绍“Shiro的特性是什么”,在日常操作中,相信很多人在Shiro的特性是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Shiro的特性是什么”的疑惑有所帮助!接下来,请跟着小编一起来学习吧...
    99+
    2023-06-26
  • java的特性是什么
    java的特性是:1、简单易学;2、面向对象,使得代码更加可重用和可维护;3、平台无关性,能在不同的操作系统上运行;4、内存管理,通过自动垃圾回收机制来管理内存;5、强类型检查,变量在使用之前必须先声明类型;6、安全性,可以防止未经授权的访...
    99+
    2023-08-09
  • JS属性的特性是什么
    这篇文章将为大家详细讲解有关JS属性的特性是什么,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。概念ECMAScript 5 中定义了一个名叫“属性描述符”的...
    99+
    2024-04-02
  • javascript特性是什么
    这篇文章给大家分享的是有关javascript特性是什么的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。 javascript特性有:1、展开操作符;2...
    99+
    2024-04-02
  • MySQL8.0的新特性是什么
    本篇文章给大家分享的是有关MySQL8.0的新特性是什么,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。大量使用 class 重构代码明面上: ...
    99+
    2024-04-02
  • CSS3的新特性是什么
    本篇内容主要讲解“CSS3的新特性是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“CSS3的新特性是什么”吧! 1.属性选择器(常用的简单归纳下) [a...
    99+
    2024-04-02
  • es6的新特性是什么
    这篇文章将为大家详细讲解有关es6的新特性是什么,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。es6新特性:const与let变量、模板字面量、解构、增强的对象字面量、for...of循环、展开运算符(....
    99+
    2023-06-06
  • PHP7的新特性是什么
    这篇文章主要介绍“PHP7的新特性是什么”,在日常操作中,相信很多人在PHP7的新特性是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”PHP7的新特性是什么”的疑惑有所帮助!接下来,请跟着小编一起来学习吧...
    99+
    2023-06-17
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作