亚洲视频二区_亚洲欧洲日本天天堂在线观看_日韩一区二区在线观看_中文字幕不卡一区

公告:魔扣目錄網(wǎng)為廣大站長(zhǎng)提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請(qǐng)做好本站友鏈:【 網(wǎng)站目錄:http://www.430618.com 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線咨詢(xún)客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會(huì)員:747

如何學(xué)習(xí)Flink?

對(duì)于一門(mén)計(jì)算機(jī)技術(shù)來(lái)說(shuō),如何快速學(xué)習(xí)上手呢?具體的邏輯是什么呢?我認(rèn)為有以下幾條

  • 了解技術(shù)的應(yīng)用場(chǎng)景
  • 技術(shù)的基本概念,如何使用,以及如何部署(針對(duì)大數(shù)據(jù)組件而言)
  • 技術(shù)的功能特點(diǎn)
  • 技術(shù)源碼,優(yōu)缺點(diǎn)
Flink知識(shí)圖譜

 

知識(shí)圖譜詳解

核心概念

  • Flink的核心概念實(shí)際上是流式處理的概念,對(duì)于流式數(shù)據(jù)來(lái)說(shuō)最重要的就是時(shí)間
  • Time類(lèi)型Processing TimeEvent TimeIngestion Time
  • Watermark 這是Flink的一個(gè)難點(diǎn),在此我想強(qiáng)調(diào)的是很多人翻譯為水印,對(duì)新手有誤導(dǎo)作用,譯做水位更為合理,Watermark實(shí)質(zhì)上就是一個(gè)時(shí)間戳,具體場(chǎng)景可以簡(jiǎn)化為如何處理遲到的數(shù)據(jù),由于在分布式環(huán)境下,會(huì)受到網(wǎng)絡(luò)等影響,數(shù)據(jù)并不能按時(shí)到達(dá),于是就有了watermark機(jī)制,在此做簡(jiǎn)單說(shuō)明,圖譜每個(gè)節(jié)點(diǎn)我都會(huì)出詳細(xì)文章說(shuō)明,對(duì)于小白而言,我們首先要了解的是這個(gè)東西到底是干什么的,而不是一頭扎進(jìn)去研究,了解---應(yīng)用--剖析是一個(gè)更合理的路線
  • Trigger 觸發(fā)器又是什么呢?上文中提到watermark是為了遲到的數(shù)據(jù),觸發(fā)器實(shí)際上是決定數(shù)據(jù)處理完后什么時(shí)候落地的
  • State什么是狀態(tài)?這其實(shí)是流式數(shù)據(jù)的特性,計(jì)算數(shù)據(jù)處理的中間結(jié)果,舉個(gè)例子,agg操作中state會(huì)記錄中間聚合的結(jié)果 為什么需要有? 記錄狀態(tài)的目的是為了恢復(fù)或者重啟任務(wù),試想一下,流數(shù)據(jù)任務(wù)過(guò)程突然掛了怎么辦?有了中間的結(jié)果記錄,不久能夠做到快速恢復(fù)任務(wù)?
  • 區(qū)別(面試常問(wèn))核心:
    • Flink是標(biāo)準(zhǔn)的流式處理引擎,基于數(shù)據(jù)驅(qū)動(dòng),把批處理看作流處理的一種特殊情況,Spark恰恰相反,Spark是微批處理模型,把無(wú)界的流處理劃分為一個(gè)一個(gè)的階段,縮小為一系列的批次,有一個(gè)形象的比喻,對(duì)于微積分來(lái)說(shuō),就是劃分為一個(gè)一個(gè)有界的面積進(jìn)行逼近計(jì)算的。
    • 架構(gòu):Spark是Driver master worker executor,Flink則是JobManager TaskManager Client
    • 時(shí)間:Spark只支持處理時(shí)間,F(xiàn)link支持處理事件,事件時(shí)間,注入時(shí)間,同時(shí)有watermark處理滯后數(shù)據(jù)
    • 容錯(cuò)【大數(shù)據(jù)核心】:Spark無(wú)法做到僅消費(fèi)一次,F(xiàn)link可以做到

特性

特性分為兩點(diǎn),API和架構(gòu)

  • 對(duì)于數(shù)據(jù)處理引擎來(lái)說(shuō),我們需要解決的問(wèn)題就是計(jì)算,所以核心就是在哪進(jìn)行計(jì)算?計(jì)算任務(wù)如何找到相應(yīng)的資源,這就是架構(gòu)做的事情,核心就是 資源和任務(wù)的匹配 API
  • 老生常談就是對(duì)數(shù)據(jù)進(jìn)行的操作,畢竟誰(shuí)不是調(diào)參小能手呢
Flink知識(shí)圖譜

 

  • SQL/Table API :Table API 和 SQL 借助了 Apache Calcite 來(lái)進(jìn)行查詢(xún)的解析,校驗(yàn)以及優(yōu)化。它們可以與 DataStream 和 DataSet API 無(wú)縫集成,并支持用戶(hù)自定義的標(biāo)量函數(shù),聚合函數(shù)以及表值函數(shù)。
  • DataStream APIDataStream API 為許多通用的流處理操作提供了處理原語(yǔ)。這些操作包括窗口、逐條記錄的轉(zhuǎn)換操作,在處理事件時(shí)進(jìn)行外部數(shù)據(jù)庫(kù)查詢(xún)等ProcessFunction是 Flink 所提供的最具表達(dá)力的接口。
  • ProcessFunction 可以處理一或兩條輸入數(shù)據(jù)流中的單個(gè)事件或者歸入一個(gè)特定窗口內(nèi)的多個(gè)事件。它提供了對(duì)于時(shí)間和狀態(tài)的細(xì)粒度控制
    • 是否有些深?yuàn)W?這三者的區(qū)別在哪里?在這里可以簡(jiǎn)單的認(rèn)為DataStream是ProcessFunction封裝好的黑盒操作,通過(guò)提供一些已經(jīng)寫(xiě)好的算子,用戶(hù)直接調(diào)用就可以,但缺點(diǎn)也是顯而易見(jiàn)的,它并不能滿(mǎn)足所有自定義的需求,也就是無(wú)法細(xì)粒度的處理,這時(shí)候就需要實(shí)現(xiàn)底層的ProcessFunction
  • Task 真正干活的單位,經(jīng)過(guò)一系列請(qǐng)求過(guò)后,Task匹配到資源執(zhí)行,我們知道,大數(shù)據(jù)之一就是體現(xiàn)在數(shù)據(jù)量大,那么對(duì)于巨大的數(shù)據(jù)量來(lái)說(shuō),就出現(xiàn)了一下幾個(gè)問(wèn)題
    • 如何劃分Task呢?
    • Task的多少和什么有關(guān)的?
    • Task掛了怎么辦?如何恢復(fù)任務(wù)呢

狀態(tài)

  • 什么是狀態(tài)?這也是初學(xué)者最容易懵逼的地方
  • 狀態(tài)有哪些種類(lèi),存在哪?誰(shuí)又在管理狀態(tài)呢?這就是狀態(tài)管理 狀態(tài)存儲(chǔ) 狀態(tài)種類(lèi)
  • 區(qū)別?種類(lèi)多種,管理方式多樣,存儲(chǔ)介質(zhì)多種,區(qū)別在哪里?如何選擇?
  • 狀態(tài)的用途呢?存儲(chǔ)干嘛?這就牽扯到上文我們提到了疑問(wèn),Task掛了怎么辦呢?這就牽扯到狀態(tài)容錯(cuò)
  • 狀態(tài)容錯(cuò)的機(jī)制是什么?checkpoint?那checkpoint的底層實(shí)現(xiàn)又是什么呢?

libraries

這里的重難點(diǎn)是CEP

  • 什么是CEP? CEP是Flink相當(dāng)nice的功能,它的語(yǔ)義是復(fù)雜事件處理,什么,聽(tīng)不懂?舉個(gè)例子對(duì)于常見(jiàn)的電商平臺(tái),是根據(jù)用戶(hù)停留時(shí)長(zhǎng),收藏,加購(gòu),點(diǎn)擊次數(shù)來(lái)判斷用戶(hù)是否喜歡這個(gè)東西,那我們?nèi)绾味x滿(mǎn)足這一條件的函數(shù)呢?CEP就派上了用場(chǎng)
  • Gelly圖處理 對(duì)于初學(xué)者來(lái)說(shuō)其實(shí)沒(méi)必要涉及

監(jiān)控

對(duì)于大數(shù)據(jù)組件來(lái)說(shuō),長(zhǎng)鏈路如何確保整個(gè)環(huán)節(jié)都沒(méi)有問(wèn)題呢?那就需要監(jiān)控出馬了,點(diǎn)一點(diǎn),看看web UI就可以更直觀的看到任務(wù)運(yùn)行情況,方便定位數(shù)據(jù)處理過(guò)程中的問(wèn)題

源碼解析(吹牛篇)

眾所周知,面試官最喜歡的就是問(wèn)你,熟悉某個(gè)技術(shù)的源碼嗎?熟悉源碼對(duì)于面試來(lái)說(shuō)是有相當(dāng)?shù)膬?yōu)勢(shì),功利性來(lái)說(shuō),源碼對(duì)于初學(xué)者的用途更多在于面試,在這個(gè)模塊,我將會(huì)列出Flink源碼解析的例子,幫助大家了解源碼【吹?!?/p>

落地實(shí)踐

你會(huì)Spark Flink Hadoop,精通源碼,但一問(wèn)到如何針對(duì)應(yīng)用場(chǎng)景進(jìn)行方案設(shè)計(jì),就傻眼了,我就只會(huì)寫(xiě)SQL,寫(xiě)scala代碼,統(tǒng)計(jì)指標(biāo),這遠(yuǎn)遠(yuǎn)是不夠的,技術(shù)是為業(yè)務(wù)服務(wù)的,沒(méi)有業(yè)務(wù)也就何談什么技術(shù)?這一章我會(huì)據(jù)一些具體公司實(shí)踐已經(jīng)常見(jiàn)的應(yīng)用場(chǎng)景

總結(jié)

這只是一個(gè)思維導(dǎo)圖,也就是個(gè)啟蒙貼,以疑問(wèn)為主,主要是為了讓大家思考為什么這樣做?這些年見(jiàn)多很多的面試者,背書(shū)很溜,原理也能巴拉巴拉說(shuō)出來(lái),一問(wèn)道為什么這樣做就傻眼了,這多半是面經(jīng)看多了,面試造火箭,入職只會(huì)擰螺絲 。只有知道why才能更好做到 對(duì)技術(shù)的理解

接下來(lái),我會(huì)為大家更新思維導(dǎo)圖知識(shí)點(diǎn)的詳細(xì)擴(kuò)展,希望大家支持丫

寫(xiě)在最后

本文中的圖可能不太清晰,不太清楚是什么原因造成的,獲取高清大圖麻煩私信我 回復(fù) 思維導(dǎo)圖 獲取

分享到:
標(biāo)簽:Flink
用戶(hù)無(wú)頭像

網(wǎng)友整理

注冊(cè)時(shí)間:

網(wǎng)站:5 個(gè)   小程序:0 個(gè)  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會(huì)員

趕快注冊(cè)賬號(hào),推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過(guò)答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫(kù),初中,高中,大學(xué)四六

運(yùn)動(dòng)步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動(dòng)步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績(jī)?cè)u(píng)定2018-06-03

通用課目體育訓(xùn)練成績(jī)?cè)u(píng)定