上一讲,我们提到,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流计算中的数据关联:流与流,流与批相关推荐

  1. 利用blink CEP实现流计算中的超时统计问题

    案例与解决方案汇总页: 阿里云实时计算产品案例&解决方案汇总 一. 背景介绍 如<利用blink+MQ实现流计算中的延时统计问题>一文中所描述的场景,我们将其简化为以下案例: 实时 ...

  2. 利用blink+MQ实现流计算中的超时统计问题

    案例与解决方案汇总页: 阿里云实时计算产品案例&解决方案汇总 一. 背景介绍 菜鸟的物流数据本身就有链路复杂.实操节点多.汇总维度多.考核逻辑复杂的特点,对于实时数据的计算存在很大挑战.经过仓 ...

  3. 怎样在表格中选出同一类_3分钟教会你如何将不同表格中的数据关联在一起

    原标题: 3分钟教会你如何将不同表格中的数据关联在一起 版权声明:本文为博主原创文章,未经博主允许不得转载. 智能输入 超级表格 微视频 关键词: 智能输入 关联不同表格 逻辑输入 「超级表格微视频」 ...

  4. 【Java-IO】File、搜索删除剪切、字符集、字符编码、字节流、将内存中的数据写入文件、字符流、缓冲流、Scanner、格式化输出、数据流、对象流、序列化与反序列化、Files工具类

    IO 文章目录 IO 简介 File 分隔符.大小写 常用方法 练习:搜索.删除.剪切 字符集(Character Set) 字符编码(Character Encoding) 字符编码比较 乱码 字节 ...

  5. 阿里云流计算中维表join VS 流join

    最近业务上使用blink进行清洗数据,使用到了双流join和维表join,今天有同学问我流join和维表join有什么区别.在此我做个简单的说明,描述不对的地方,欢迎大家纠正,后面补充. 流式计算过程 ...

  6. SLAM算法中的数据关联问题

    数据关联一直是SLAM实际应用中一个非常重要的问题.在将数据融入到地图中前,新的测量与地图中已存在的地标的关联,在融合后,这些关联不能被修改.这样的问题是单个的错误数据关联可能诱导地图估计的发散,经常 ...

  7. 自动驾驶 Apollo 源码分析系列,感知篇(九):感知融合中的数据关联细节

    前一篇文章讲了,Apollo 6.0 中融合的代码逻辑流程,但那是基于软件的角度进行梳理和分析的,这一篇文章基于上篇的成果进一步对算法进行更详细的分析,因为代码量奇大,所以本文重点讨论数据关联的一些细 ...

  8. java byte数组转化为流_java中字节数组和字符串、IO流和字节数组之间的转换

    在实际开发中经常会碰到乱码问题: 首先查看系统支持的编码方式,默认的编码方式 //检查java支持的编码 System.out.println(Charset.availableCharsets(). ...

  9. 3分钟教会你如何将不同表格中的数据关联在一起

    智能输入 超级表格微视频 关键词:   智能输入  关联不同表格   逻辑输入 「超级表格微视频」第六期 提升效率. 增强免疫力,尽在超级表格微视频! class="video_iframe ...

最新文章

  1. XP局域网访问无权限、不能互相访问问题的完整解决方案
  2. 从本地上传到hdfs上出现异常
  3. java生成HMACSHA256的方法
  4. 《Flink官方文档》示例总览
  5. springboot 问题总结
  6. 乐哥学AI_Python(二):Numpy索引,切片,常用函数
  7. android gone动画_Android动画之淡入淡出
  8. matlab2012b函数问题,MATLAB版本(2012b 64bit)在尝试调用svmtrain函数时报错
  9. win10禁用计算机维护,win10哪些服务可以禁用 服务哪些可以禁止启动
  10. 描写火车站场景_描写火车站人多的场景_描写火车站人多的作文
  11. android 模拟器 界面,详细了解雷电安卓模拟器的界面介绍让你更好的使用模拟器...
  12. Kaminari的几个对象
  13. andriod 和风天气SDK获取实时天气(保姆级教程)
  14. 《统计学习方法(第二版)》学习笔记 第五章 决策树
  15. PS绘制飘逸彩色丝带教程
  16. 删除地址栏输入历史记录
  17. 48、用于防火分隔的下沉式广场等开敞空间的设计要求
  18. 基础知识——排列与组合
  19. Day12:股海浮沉-锦囊妙计
  20. 错排——没有不动点排列 通俗易懂!!!

热门文章

  1. python控制风扇_gpio控制风扇转速 pwm方案
  2. .NET深入解析LINQ框架1
  3. 计算机是怎么计算埃及分数,埃及分数问题(贪心算法)
  4. 计量经济学第1章计算机,周曙东教授计量经济学第1章.ppt
  5. 充电桩动态管理系统java_一种充电桩管理系统及其使用方法
  6. No.032<软考>《(高项)备考大全》【第16章】项目变更管理
  7. 基因工程-3-基因工程载体-课堂随记(PPT、补充)
  8. 工具 好用的一些windows工具,包括git、录屏、ps、navicat等等,后续会持续更新
  9. Linux查看客户端NTP会话,linux_NTP服务详解
  10. eclipse英文版如何汉化以及汉化后发生错误解决方案