真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

flink原理和基本功能是什么

flink原理和基本功能是什么,相信很多沒(méi)有經(jīng)驗(yàn)的人對(duì)此束手無(wú)策,為此本文總結(jié)了問(wèn)題出現(xiàn)的原因和解決方法,通過(guò)這篇文章希望你能解決這個(gè)問(wèn)題。

成都創(chuàng)新互聯(lián)公司從2013年成立,先為長(zhǎng)洲等服務(wù)建站,長(zhǎng)洲等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為長(zhǎng)洲企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問(wèn)題。

有界與無(wú)界

有界數(shù)據(jù)集

  • 具有時(shí)間邊界的數(shù)據(jù)集,處理過(guò)程中數(shù)據(jù)一定會(huì)在某個(gè)時(shí)間內(nèi)開(kāi)始和結(jié)束。

無(wú)界數(shù)據(jù)集

  • 數(shù)據(jù)只有開(kāi)始沒(méi)有邊界。

flink接口結(jié)構(gòu)

FLink SQL

  • SQL API支持批和流的計(jì)算。

Flink Table

  • Table API將內(nèi)存中的DataStream和DataSet數(shù)據(jù)集在原有的基礎(chǔ)上增加Schema信息,將數(shù)據(jù)類(lèi)型統(tǒng)一抽象成表結(jié)構(gòu),然后通過(guò)Table API接口處理對(duì)應(yīng)的數(shù)據(jù)集。

  • SQL API可以直接查詢Table API注冊(cè)表的數(shù)據(jù)。

  • Tabel API 提供大量接口如GroupByKey、Join等,并支持和DataStream和DataSet的相互轉(zhuǎn)換。

DataStream

  • 有編程經(jīng)驗(yàn)者使用,1.12版本開(kāi)始DataStream處理流批數(shù)據(jù),DataSet接口逐步廢除。

Stateful Stream Processing API

  • Flink最底層接口,靈活性非常強(qiáng),可實(shí)現(xiàn)復(fù)雜的流式計(jì)算邏輯,使用成本較高,一般企業(yè)級(jí)用戶使用它進(jìn)行二次開(kāi)發(fā)或深度封裝。

程序結(jié)構(gòu) DataStream API

  1. 設(shè)定運(yùn)行環(huán)境,支持動(dòng)態(tài)(本地和線上)啟動(dòng)、本地啟動(dòng)、遠(yuǎn)程線上啟動(dòng)三種。

StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();
//指定處理方式批處理、流處理、自適應(yīng)
env.setRuntimeMode(RuntimeExecutionMode.AUTOMATIC);
  1. 指定數(shù)據(jù)源

DataSet text = env.readTextFile("/path/to/file");
  1. 操作數(shù)據(jù)集

DataSet> counts =
        text.flatMap(_.toLowerCase.split(" ")) //實(shí)行map轉(zhuǎn)換
        .filter(_.nonEmpty)  //過(guò)濾控制
        .map((_,1)) //執(zhí)行map轉(zhuǎn)換,轉(zhuǎn)換為key-value 
        .keyBy(0)  //按照指定第一個(gè)字段key進(jìn)行分區(qū),
        .sum(1); //分區(qū)后按第二個(gè)字段求和
  1. 指定結(jié)果輸出

counts.writeAsCsv(outputPath, "\n", " ");
  1. 指定名稱并觸發(fā)

 env.execute("Streaming Count");

數(shù)據(jù)類(lèi)型

  • flink有豐富的數(shù)據(jù)類(lèi)型支持,統(tǒng)一由TypeInformation定義。支持與java、scala任意數(shù)據(jù)類(lèi)型轉(zhuǎn)換。

原生數(shù)據(jù)類(lèi)型

  • BasicTypeInfo類(lèi)型支持任意java基礎(chǔ)類(lèi)型和String類(lèi)型。

java Tuples

  • TupleTypeInfo描述Tuple類(lèi)型數(shù)據(jù),2019年版本支持字段上線為25個(gè)。

scala Case class

  • CaseClassTypeInfo支持任意Scala Case class,包括Scala tuples,2019年支持最大字段數(shù)為22個(gè)。

POJOs類(lèi)型

  • PojoTypeInfo描述任意POJO類(lèi)型,

    • POJO類(lèi)必須是public修飾的非內(nèi)部類(lèi)。

    • POJO類(lèi)必須含有默認(rèn)空構(gòu)造器

    • PoJO類(lèi)所有字段必須是public,類(lèi)型必須是flink支持的。

Flink Value類(lèi)型

  • Value數(shù)據(jù)類(lèi)型實(shí)現(xiàn)了org.apache.flink.types.Value,其中包含read()和write()兩種序列化和反序列化操作。目前內(nèi)建類(lèi)型有IntValue、DoubleValue、StringValue。

特殊數(shù)據(jù)類(lèi)型

  • scala中的List、Map、Either、Option、Try,java中Either,hadoop中Writable。

Flink作為新一代計(jì)算引擎,在實(shí)時(shí)計(jì)算領(lǐng)域有著及其重要的地位,同時(shí)也有這復(fù)雜的概念,時(shí)間窗口、水位線等,學(xué)習(xí)并理解成本不低。

看完上述內(nèi)容,你們掌握f(shuō)link原理和基本功能是什么的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!


標(biāo)題名稱:flink原理和基本功能是什么
文章分享:http://weahome.cn/article/jopidp.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部