之前学习spark 的时候对rdd和ds经常用的groupby操作,在flink中居然变少了

取而代之的是keyby

顾名思义,keyby是根据key的hashcode对分区数取模

For instance, if we know that the load of the parallel partitions of a DataStream is skewed, we might want to rebalance the data to evenly distribute the computation load of subsequent operators. Alternatively, the application logic might require that all tasks of an operation receive the same data or that events be distributed following a custom strategy. In this section, we present DataStream methods that enable users to control partitioning strategies or define their own.

摘自flink的一本书,意思就是如果我们知道DataStream 的并行分区中的数据倾斜,我们可能想重新平衡这些数据,

这就要求我们通过一种自定义的方式去改变 所有task会收到相同的数据,所以我们提供了DataStream的很多操作方法去按照他们的想法去控制分区策略

keyby 与下面三个不同,他产生的是KeyedStream,而不是dataStream,他的分区策略是hashcode

shuffle 分区策略是random

rebalance 分区策略的Round-Robin

resclae 和rebalance差不多,但是做了更细粒度的划分

rebalance() will create communication channels between all sending tasks to all receiving tasks,

rescale() will only createchannels from each task to some of the tasks of the downstream operator

这个是rescala的图,在分区之前还做了类似分组或者keyby的操作

flink之keyby groupby区别相关推荐

  1. Apache Flink 零基础入门(七)Flink中keyBy三种方式指定key

    keyBy 如何指定key 不管是stream还是batch处理,都有一个keyBy(stream)和groupBy(batch)操作.那么该如何指定key? Some transformations ...

  2. 聊聊flink Table的groupBy操作

    序 本文主要研究一下flink Table的groupBy操作 Table.groupBy flink-table_2.11-1.7.0-sources.jar!/org/apache/flink/t ...

  3. 【Flink】Flink 没有keyBy 某个 subTask 没有数据

    文章目录 1.概述 M.扩展 1.概述 一个flink程序,如下,但是总共100多个task,然后只有一个没有数据. 第一怀疑是不是keyBy问题,上述看错了,然后以为有keyBy 然后参考文章:[F ...

  4. flink与spark的区别----阅读笔记1

    Flink简介 spark基本架构 flink基本架构 Spark提出的最主要抽象概念是弹性分布式数据集(RDD) flink支持增量迭代计算.基于流执行引擎,Flink提供了诸多更高抽象层的API以 ...

  5. Storm,Spark和Flink简介 联系与区别

    storm.spark streaming.flink是三个最著名的分布式流处理框架,并且都是开源的分布式系统,具有低延迟.可扩展和容错性诸多优点,允许你在运行数据流代码时,将任务分配到一系列具有容错 ...

  6. spark和flink是什么、区别、共同点以及替换性

    目录 声明 1. spark spark 计算速度快 Spark与MR 2. flink flink是什么 flink特点 flink能做什么 四.flink , mapreduce , Spark ...

  7. flink keyby、shuffle、 rebalance、rescale、 broadcast、global、自定义分区算子以及各分区器源码

    文章目录 前言 1. 随机分区 2. 轮询分区 3. 重缩放分区 4. 广播 5. 全局分区 6. 自定义分区 前言   flink中keyBy是一种按照键的哈希值来进行重新分区的操作,至于分区是否均 ...

  8. 学习笔记Flink(四)—— Flink基础API及核心数据结构

    一.Flink基础API-Flink编程的基本概念 1.1.Flink程序 Flink 程序是实现了分布式集合转换(例如过滤.映射.更新状态.join.分组.定义窗口.聚合)的规范化程序. 集合初始创 ...

  9. 大数据框架复习-flink

    大数据框架复习-flink flink的简单介绍 Flink 是一个面向流处理和批处理的分布式数据计算引擎,能够基于同一个 Flink 运行,可以提供流处理和批处理两种类型的功能. 在 Flink 的 ...

最新文章

  1. mediav聚效广告代码片段
  2. SSH框架的简单搭建步骤
  3. java 迪杰斯特拉_Java 实现Dikstra迪杰斯特拉算法 关于单源顶点最短路径问题的求解...
  4. 再见了微服务!全面拥抱 DDD 真正的价值
  5. postgresql返回行数_怎么优化你的SQL查询?以PostgreSQL为例
  6. ul li一行两个显示
  7. 罗永浩婉拒币圈争相邀请:发币我也会 只是没打算做
  8. timestamp类型的数据如何赋值_VBA一组代码如何搞定赋值给数组arr及回填数据给工作表...
  9. [模板] 线筛欧拉函数
  10. c++ Primer plus 之c++学习
  11. 农村淘宝年货节开20条品牌大街,1分钱买高品质牛奶!
  12. 【转】Spring横切面(advice),增强(advisor),切入点(PointCut)(JAVA后端)
  13. 港科夜闻|香港科大海洋科学系主任兼讲座教授钱培元:成立产业推广部抢商机...
  14. paypal是怎么收费的?
  15. pb 调用虹软_Python进阶量化交易专栏场外篇12-股票分笔数据跨周期处理
  16. 半导体公司----仙童、英特尔、AMD
  17. 第六章 戚继光——孤独的将领 –2(稍微次要)
  18. 百度贴吧里见到的一道题
  19. Xtrabackup全量备份(官网)
  20. 虚拟蜜罐:从信息模拟到实现虚拟蜜罐技术

热门文章

  1. babylon.js 学习
  2. ACM 长方体体积求解
  3. Unity 相机参数详解:多相机混合、小地图实现
  4. intellij 关闭自动保存和标志修改文件为星号
  5. 阿里云大学考试Java初级题目及解析-java初级
  6. 计算机中总评等级怎么算,Excel总评等级怎么算
  7. 域名能查到服务器信息么,域名查服务器信息
  8. What is WTF?
  9. leetcode 力扣每日一题系列详解——总目录
  10. infoq_InfoQ更新日志