摘要:簡介是一個面向分布式數(shù)據(jù)流處理和批量數(shù)據(jù)處理的開源計算平臺,提供支持流處理和批處理兩種類型應(yīng)用的功能。每一個數(shù)據(jù)流起始于一個或多個,并終止于一個或多個。
Flink簡介
Apache Flink 是一個面向分布式數(shù)據(jù)流處理和批量數(shù)據(jù)處理的開源計算平臺,提供支持流處理和批處理兩種類型應(yīng)用的功能。
Apache Flink的前身是柏林理工大學(xué)一個研究性項目,在2014被Apache孵化器所接受,然后迅速地成為了Apache Software Foundation的頂級項目之一。
Flink 特點
現(xiàn)有的開源計算方案,會把流處理和批處理作為兩種不同的應(yīng)用類型:流處理一般需要支持低延遲、Exactly-once保證,而批處理需要支持高吞吐、高效處理
Flink是完全支持流處理,也就是說作為流處理看待時輸入數(shù)據(jù)流時無界的;批處理被作為一種特殊的流處理,只是它的輸入數(shù)據(jù)流被定義為有界的。
Flink 組件棧Deployment層
主要涉及了Flink的部署模式、Flink支持多種部署模式:本地、集群(Standalone/YARN)、云(GCE/EC2).
Runtime層
Runtime層提供了支持Flink計算的全部核心實現(xiàn),比如:支持分布式Stream處理、JobGraph到ExecutionGraph的映射、調(diào)度等等,為上層API層提供基礎(chǔ)服務(wù)
API層
API層主要實現(xiàn)了面向無界Stream的流處理和面向Batch的批處理API,其中面向流處理對應(yīng)DataStream API,面向批處理對應(yīng)DataSet API
Libaries層
在API層之上構(gòu)建的滿足特定應(yīng)用的實現(xiàn)計算框架,也分別對應(yīng)于面向流處理和面向批處理兩類。
Flink優(yōu)勢支持高吞吐、低延遲、高性能的流處理
支持高度靈活的窗口(Window)操作
支持有狀態(tài)計算的Exactly-once語義
提供DataStream API和DataSet API
Flink數(shù)據(jù)流和時間窗口基本概念
Flink程序的基礎(chǔ)構(gòu)建模塊是流(streams)與轉(zhuǎn)換(transformations)。
每一個數(shù)據(jù)流起始于一個或多個source,并終止于一個或多個sink。
時間窗口
流上的聚合需要由窗口來劃定范圍,比如 “計算過去的5分鐘” 或者 “最后100個元素的和”
窗口通常被區(qū)分為不同的類型,比如滾動窗口(沒有重疊),滑動窗口(有重疊),以及會話窗口(由布活動的間隙所打斷)
Flink分布式運(yùn)行環(huán)境Flink是基于Master-Slave風(fēng)格的架構(gòu)
Flink集群啟動時,會啟動一個JobManager進(jìn)程、至少一個TaskManager進(jìn)程
JobManager
Flink系統(tǒng)的協(xié)調(diào)者,他負(fù)責(zé)接受Flink Job ,調(diào)度組成Job的多個Task的執(zhí)行
收集Job的狀態(tài)信息,并管理Flink集群中從節(jié)點TaskManager
TaskManager
實際負(fù)責(zé)執(zhí)行計算的Worder,在其上執(zhí)行Flink Job的一組Task
TaskManager負(fù)責(zé)管理其所在節(jié)點上的資源信息,如內(nèi)存、磁盤、網(wǎng)絡(luò),在啟動的時候?qū)①Y源的狀態(tài)向JobManager匯報
Client
用戶提交一個Flink程序時,會首先創(chuàng)建一個Client,該Client首先會對用戶提交的Flink程序進(jìn)行預(yù)處理,并提交到Flink集群
Client會將用戶提交的Flink程序組裝一個JobGraph,并且時以JobGraph的形式提交的
Flink安裝方式一
git clone https://github.com/apache/fli...
cd flink
mav clean package -DskipTests
cd build-target
方式二
到官網(wǎng)下載編譯版:https://flink.apache.org/down...
不同環(huán)境下到bin目錄,運(yùn)行start-local.bat
運(yùn)行正常,訪問頁面:http://localhost:8081
官方推薦快速搭建一個項目:
curl https://flink.apache.org/q/qu... | bash
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/71690.html
摘要:總結(jié)本文描述了如何在電腦上安裝,及運(yùn)行它。相關(guān)文章從到學(xué)習(xí)介紹從到學(xué)習(xí)上搭建環(huán)境并構(gòu)建運(yùn)行簡單程序入門從到學(xué)習(xí)配置文件詳解從到學(xué)習(xí)介紹從到學(xué)習(xí)如何自定義從到學(xué)習(xí)介紹從到學(xué)習(xí)如何自定義 showImg(https://segmentfault.com/img/remote/1460000016915923?w=1920&h=1275); 準(zhǔn)備工作 1、安裝查看 Java 的版本號,推薦...
摘要:接著我們將數(shù)據(jù)流按照單詞字段即號索引字段做分組,這里可以簡單地使用方法,得到一個以單詞為的數(shù)據(jù)流。得到的結(jié)果數(shù)據(jù)流,將每秒輸出一次這秒內(nèi)每個單詞出現(xiàn)的次數(shù)。最后一件事就是將數(shù)據(jù)流打印到控制臺,并開始執(zhí)行最后的調(diào)用是啟動實際作業(yè)所必需的。 本文轉(zhuǎn)載自 Jark’s Blog ,作者伍翀(云邪),Apache Flink Committer,阿里巴巴高級開發(fā)工程師。 本文將從開發(fā)環(huán)境準(zhǔn)備、創(chuàng)建 ...
閱讀 1928·2021-09-14 18:03
閱讀 2321·2019-08-30 15:48
閱讀 1194·2019-08-30 14:09
閱讀 579·2019-08-30 12:55
閱讀 2794·2019-08-29 11:29
閱讀 1548·2019-08-26 13:43
閱讀 2371·2019-08-26 13:30
閱讀 2434·2019-08-26 12:17