20流计算中的数据关联:流与流,流与批
上一讲,我们提到,Structured Streaming 会复用 Spark SQL 所提供的一切数据处理能力,比如数据抽取、过滤、分组聚合、关联、排序,等等。不过,在这些常规的数据处理类型中,有一类操作需要我们特别关注,它就是数据关联(Joins)。
这主要是出于两方面的原因,一来,数据关联的应用非常普遍,可以说是数据应用中“出场率”最高的操作类型之一;再者,与批处理中的数据关联不同,流计算中的数据关联,还需要考虑到流处理过程中固有的一些限制,比如说时间窗口、数据延迟容忍度、输出模式,等等。
因此,今天这一讲,我们专门来说一说 Structured Streaming 中的数据关联。我们先盘点好 Structured Streaming 的技能树,看看它都支持哪些种类的数据关联。之后再用一个短视频推荐的例子上手试验一下,总结出不同类型数据关联的适用场景以及注意事项。
流计算中的数据关联
我们知道,如果按照关联形式来划分的话,数据关联可以分为 Inner Join、Left Join、Right Join、Semi Join、Anti Join,等等。如果按照实现方式来划分的话,可以分为 Nested Loop Join、Sort Merge Join 和 Hash Join。而如果考虑分布式环境下数据分发模式的话,Join 又可以分为 Shuffle Join 和 Broadcast Join。
对于上述的 3 种分类标准,它们之间是相互正交的,我们在 Spark SQL 学习模块介绍过它们各自的适用场景与优劣势(记不清的可以回顾第17、18讲)。
20流计算中的数据关联:流与流,流与批相关推荐
- 利用blink CEP实现流计算中的超时统计问题
案例与解决方案汇总页: 阿里云实时计算产品案例&解决方案汇总 一. 背景介绍 如<利用blink+MQ实现流计算中的延时统计问题>一文中所描述的场景,我们将其简化为以下案例: 实时 ...
- 利用blink+MQ实现流计算中的超时统计问题
案例与解决方案汇总页: 阿里云实时计算产品案例&解决方案汇总 一. 背景介绍 菜鸟的物流数据本身就有链路复杂.实操节点多.汇总维度多.考核逻辑复杂的特点,对于实时数据的计算存在很大挑战.经过仓 ...
- 怎样在表格中选出同一类_3分钟教会你如何将不同表格中的数据关联在一起
原标题: 3分钟教会你如何将不同表格中的数据关联在一起 版权声明:本文为博主原创文章,未经博主允许不得转载. 智能输入 超级表格 微视频 关键词: 智能输入 关联不同表格 逻辑输入 「超级表格微视频」 ...
- 【Java-IO】File、搜索删除剪切、字符集、字符编码、字节流、将内存中的数据写入文件、字符流、缓冲流、Scanner、格式化输出、数据流、对象流、序列化与反序列化、Files工具类
IO 文章目录 IO 简介 File 分隔符.大小写 常用方法 练习:搜索.删除.剪切 字符集(Character Set) 字符编码(Character Encoding) 字符编码比较 乱码 字节 ...
- 阿里云流计算中维表join VS 流join
最近业务上使用blink进行清洗数据,使用到了双流join和维表join,今天有同学问我流join和维表join有什么区别.在此我做个简单的说明,描述不对的地方,欢迎大家纠正,后面补充. 流式计算过程 ...
- SLAM算法中的数据关联问题
数据关联一直是SLAM实际应用中一个非常重要的问题.在将数据融入到地图中前,新的测量与地图中已存在的地标的关联,在融合后,这些关联不能被修改.这样的问题是单个的错误数据关联可能诱导地图估计的发散,经常 ...
- 自动驾驶 Apollo 源码分析系列,感知篇(九):感知融合中的数据关联细节
前一篇文章讲了,Apollo 6.0 中融合的代码逻辑流程,但那是基于软件的角度进行梳理和分析的,这一篇文章基于上篇的成果进一步对算法进行更详细的分析,因为代码量奇大,所以本文重点讨论数据关联的一些细 ...
- java byte数组转化为流_java中字节数组和字符串、IO流和字节数组之间的转换
在实际开发中经常会碰到乱码问题: 首先查看系统支持的编码方式,默认的编码方式 //检查java支持的编码 System.out.println(Charset.availableCharsets(). ...
- 3分钟教会你如何将不同表格中的数据关联在一起
智能输入 超级表格微视频 关键词: 智能输入 关联不同表格 逻辑输入 「超级表格微视频」第六期 提升效率. 增强免疫力,尽在超级表格微视频! class="video_iframe ...
最新文章
- XP局域网访问无权限、不能互相访问问题的完整解决方案
- 从本地上传到hdfs上出现异常
- java生成HMACSHA256的方法
- 《Flink官方文档》示例总览
- springboot 问题总结
- 乐哥学AI_Python(二):Numpy索引,切片,常用函数
- android gone动画_Android动画之淡入淡出
- matlab2012b函数问题,MATLAB版本(2012b 64bit)在尝试调用svmtrain函数时报错
- win10禁用计算机维护,win10哪些服务可以禁用 服务哪些可以禁止启动
- 描写火车站场景_描写火车站人多的场景_描写火车站人多的作文
- android 模拟器 界面,详细了解雷电安卓模拟器的界面介绍让你更好的使用模拟器...
- Kaminari的几个对象
- andriod 和风天气SDK获取实时天气(保姆级教程)
- 《统计学习方法(第二版)》学习笔记 第五章 决策树
- PS绘制飘逸彩色丝带教程
- 删除地址栏输入历史记录
- 48、用于防火分隔的下沉式广场等开敞空间的设计要求
- 基础知识——排列与组合
- Day12:股海浮沉-锦囊妙计
- 错排——没有不动点排列 通俗易懂!!!
热门文章
- python控制风扇_gpio控制风扇转速 pwm方案
- .NET深入解析LINQ框架1
- 计算机是怎么计算埃及分数,埃及分数问题(贪心算法)
- 计量经济学第1章计算机,周曙东教授计量经济学第1章.ppt
- 充电桩动态管理系统java_一种充电桩管理系统及其使用方法
- No.032<软考>《(高项)备考大全》【第16章】项目变更管理
- 基因工程-3-基因工程载体-课堂随记(PPT、补充)
- 工具 好用的一些windows工具,包括git、录屏、ps、navicat等等,后续会持续更新
- Linux查看客户端NTP会话,linux_NTP服务详解
- eclipse英文版如何汉化以及汉化后发生错误解决方案