StructedStreaming概述

SparkStreaming的不足

  1. 基于微批处理,延迟高不能做到真正的实时计算
  2. DStream基于RDD,不直接支持SQL
  3. 流批处理的API应用层不统一
  • 流用的是DSteam,底层是RDD
  • 批用的是DataFram、DataSet、RDD
  1. 不支持EventTime(事件时间)
  • EventTime:事件真正发生的时间
  • PorcessTime处理时间:事件被流系统处理的时间
  • IngestionTime摄入事件:事件到达流系统的时间

列举不适用的场景

  • 如一条错误日志10月1日 23:59:00秒产生的(事件时间)因为网路延迟到10月2日 00:00:10到达日志处理系统(摄入时间)10月2日00:00:20被流系统处理(处理时间)
  • 如果要统计10月1日的系统bug数量,那么SparkStreaming是不能正确统计的,因为它不支持事件事件
  1. 数据的Exactly-Once(恰好一次语义)需要手动实现

解释:数据的一次性语义
分类:最多一次、恰好一次(SparkStreaming要实现,需要手动维护偏移量)、最少一次

StructedStreaming介绍

概念

它是基于Spark SQL引擎的可扩展、容错的全新流处理引擎,解决 SparkStreaming的不足。

特点

  • 实现了真正的流处理,延迟低
  • 数据类型基于DataFream/DataSet,支持SQL
  • 统一了流批处理的高性能API
  • 支持EventTime(事件时间)

基本数据类型

StructedStreaming是一个无界表/动态表格,底层基于DataFrame/DataSet
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大数据老人家i

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值