flink(V1.11.3) 流理解匯總

flink中流式計(jì)算主要是針對各種流,做各種transform的operator,了解flink中總共有哪些流,能讓我們實(shí)現(xiàn)需求時(shí)更得心應(yīng)手。

1.DataStream

? ? 常規(guī)數(shù)據(jù)流,最常見的流類型,代表流中的元素都是同一類型,其他類型的流都是在此基礎(chǔ)上做疊加了各種特性

2.KeyedStream

? ? 分區(qū)流,代表流中的元素都將被提供的分區(qū)字段進(jìn)行分區(qū)處理,然后再進(jìn)入下一個(gè)算子進(jìn)行計(jì)算

????有多少個(gè)分區(qū)取決于下一個(gè)算子的并行度,下一個(gè)算子并行度為9,則分區(qū)總數(shù)為9

3.WindowedStream

? ? 分區(qū)窗口流,由分區(qū)流根據(jù)分窗器將分區(qū)流中的元素分到零個(gè)或一個(gè)或多個(gè)窗口中,在根據(jù)觸發(fā)器觸發(fā)窗口流計(jì)算窗口中的數(shù)據(jù)

? ? 關(guān)鍵詞:分窗器(WindowAssigner),觸發(fā)器(Trigger)

4.AllWindowedStream

? ? 統(tǒng)一窗口流,由常規(guī)數(shù)據(jù)流結(jié)合分窗器形成,計(jì)算由觸發(fā)器觸發(fā)。

? ? 與分區(qū)窗口流的區(qū)別是,是否分區(qū)

5.ConnectedStreams

? ? 連接流,表示兩個(gè)流的合并,類似于join吧,個(gè)人理解,只是元素類型可能不一樣。官網(wǎng)例子:

????DataStream<Integer>someStream=//...

????DataStream<String>otherStream=//...

????ConnectedStreams<Integer,String>connectedStreams=someStream.connect(otherStream);

6.SplitStream

? ? 分割流,可以通過對父流中的元素設(shè)置規(guī)則,將父流分割成多個(gè)子流

????6.1.規(guī)則設(shè)置

????????SplitStream<Integer>split=someDataStream.split(newOutputSelector<Integer>(){@OverridepublicIterable<String>select(Integervalue){List<String>output=newArrayList<String>();if(value%2==0){output.add("even");}else{output.add("odd");}returnoutput;}});

? ? 6.2分割

????SplitStream<Integer>split;

????DataStream<Integer>even=split.select("even");

????DataStream<Integer>odd=split.select("odd");

????DataStream<Integer>all=split.select("even","odd");

7.IterativeStream?

? ? 迭代流,對算法更新模型很有用的流。用法也很簡單,從流中過濾掉一些元素重新作為輸入進(jìn)行計(jì)算,所以要注意不停的作為輸入重復(fù)計(jì)算。

以上就是flink的所有流匯總,以及他們的一些特性。有什么問題及交流,就在下方流言吧

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 概述 這篇文章是但不僅僅是官方文檔的中文翻譯,還有里面每一個(gè)方法對應(yīng)的Transformation和運(yùn)行時(shí)對Tas...
    鐺鐺鐺clark閱讀 10,159評論 0 12
  • 操作符將一個(gè)或多個(gè)數(shù)據(jù)流轉(zhuǎn)換為新的數(shù)據(jù)流。程序可以將多個(gè)轉(zhuǎn)換組合成復(fù)雜的數(shù)據(jù)流拓?fù)洹?本節(jié)描述了基本轉(zhuǎn)換、應(yīng)用這些...
    尼小摩閱讀 2,720評論 0 9
  • 前言 如上圖,算子,也叫operation或transformation,是編寫業(yè)務(wù)邏輯的核心單元,類似于Spar...
    吾系司機(jī)閱讀 918評論 2 0
  • 操作符將一個(gè)或多個(gè)數(shù)據(jù)令轉(zhuǎn)換為一個(gè)新的數(shù)據(jù)令。程序可以將多種轉(zhuǎn)換組合成復(fù)雜的數(shù)據(jù)流拓?fù)洹?本節(jié)將介紹基本的轉(zhuǎn)換、應(yīng)...
    qing_feng閱讀 232評論 0 0
  • 原文鏈接 操作符將一個(gè)或多個(gè)DataStream轉(zhuǎn)換成為新的DataStream。程序可以將多個(gè)轉(zhuǎn)換組合成復(fù)雜的數(shù)...
    小C菜鳥閱讀 275評論 0 0

友情鏈接更多精彩內(nèi)容