当前位置:  开发笔记 > 大数据 > 正文

Apache Flink如何处理偏斜数据?

如何解决《ApacheFlink如何处理偏斜数据?》经验,为你挑选了1个好方法。

例如,我有很多单词,想要计算每个单词.问题是这些词是倾斜的.这意味着某些单词的频率非常高,但大多数其他单词的频率很低.在风暴中,我们可以使用以下方式来解决此问题.首先对流进行随机分组,在每个节点中计算窗口时间本地的单词,最后更新计入累积结果.从我的另一个问题,我知道Flink只支持键控流上的窗口,否则窗口操作将不是并行的.

我的问题是有没有一种很好的方法来解决Flink中这种扭曲的数据问题?

在此输入图像描述



1> Fabian Huesk..:

DataStream API当前不支持预聚合.原则上,可以为事件时间窗口添加类似组合器的特征.国际海事组织,这将是一个非常有价值的补充,但还没有完成.

但是,您可以自己实现此功能.DataStream API提供低级操作员界面,类似于Storm Bolts.接口被调用OneInputStreamOperator.此操作员类型可让您完全控制.实际上,内置运算符(如Window运算符)也基于此类.

A OneInputStreamOperator可以应用如下:

DataStream inStream = ...
DataStream outStream = inStream
  .transform("my op", BasicTypeInfo.STRING_TYPE_INFO, new MyOISO());

推荐阅读
可爱的天使keven_464
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有