热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

ApacheFlink:DataSetAPI中的groupBy和partitioning有什么区别?

如何解决《ApacheFlink:DataSetAPI中的groupBy和partitioning有什么区别?》经验,为你挑选了1个好方法。

Flink的数据集API中有各种分区功能,例如partitionByHashpartitionByRange

我想首先了解什么是分区,groupBy以及分区之间的区别。



1> Fabian Huesk..:

分区是比groupBy数据更底层的操作,并且不对数据应用任何功能。而是定义如何在并行任务实例之间分配数据。可以使用不同的方法对数据进行分区,例如哈希分区或范围分区。

groupBy本身不是一项操作。它总是需要被所分组的应用的功能DataSet,例如reducegroupReduce,或groupCombine。该groupByAPI定义了如何给他们到相应的函数之前的记录进行分组。记录分组分为两个步骤。

    具有相同分组键的所有记录都必须移至相同的任务实例。这是通过对数据进行分区来完成的。由于通常有比任务实例更多的不同分组关键字,因此任务实例必须处理具有不同分组关键字的记录。

    同一任务实例中的所有记录必须在键上分组。通常通过对数据进行排序来完成。

因此,第一步groupBy是分区。


推荐阅读
author-avatar
梦三国
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有