flink入门_阿里巴巴为何选择Flink?20年大佬分11章讲解Flink从入门到实践!
前言
Apache Flink 是德國柏林工業(yè)大學(xué)的幾個(gè)博士生和研究生從學(xué)校開始做起來的項(xiàng)目,之前叫做 Stratosphere。他們?cè)?014 年開源了這個(gè)項(xiàng)目,起名為 Flink。
Apache Flink 已經(jīng)被業(yè)界公認(rèn)是最好的流計(jì)算引擎。然而 Flink 其實(shí)并不是一個(gè)僅僅局限于做流處理的引擎。Apache Flink 的定位是一套兼具流、批、機(jī)器學(xué)習(xí)等多種計(jì)算功能的大數(shù)據(jù)引擎。
在最近的一段時(shí)間,Flink 在批處理以及機(jī)器學(xué)習(xí)等諸多大數(shù)據(jù)場(chǎng)景都有長足的突破。一方面Flink 的批計(jì)算在經(jīng)過阿里的優(yōu)化后有了數(shù)量級(jí)的提升。另一方面,Flink 社區(qū)在 tableAPI,Python,以及 ML 等諸多領(lǐng)域都在逐步發(fā)力,持續(xù)提升用戶做 Data science 和 AI 計(jì)算的體驗(yàn)。此外,Flink也在逐步提升和其他開源軟件融合的體驗(yàn),包括 Hive,還有 Notebook(Zeppelin, Jupyter)等等。
阿里為什么選擇Flink
隨著人工智能時(shí)代的降臨,數(shù)據(jù)量的爆發(fā),在典型的大數(shù)據(jù)的業(yè)務(wù)場(chǎng)景下數(shù)據(jù)業(yè)務(wù)最通用的做法是:選用批處理的技術(shù)處理全量數(shù)據(jù),采用流式計(jì)算處理實(shí)時(shí)增量數(shù)據(jù)。在絕大多數(shù)的業(yè)務(wù)場(chǎng)景之下,用戶的業(yè)務(wù)邏輯在批處理和流處理之中往往是相同的。
但是,用戶用于批處理和流處理的兩套計(jì)算引擎是不同的。因此,用戶通常需要寫兩套代碼。毫無疑問,這帶來了一些額外的負(fù)擔(dān)和成本。阿里巴巴的商品數(shù)據(jù)處理就經(jīng)常需要面對(duì)增量和全量兩套不同的業(yè)務(wù)流程問題,所以阿里就在想,我們能不能有一套統(tǒng)一的大數(shù)據(jù)引擎技術(shù),用戶只需要根據(jù)自己的業(yè)務(wù)邏輯開發(fā)一套代碼。
這樣在各種不同的場(chǎng)景下,不管是全量數(shù)據(jù)還是增量數(shù)據(jù),亦或者實(shí)時(shí)處理,一套方案即可全部支持,這就是阿里選擇 Flink 的背景和初衷。
目前開源大數(shù)據(jù)計(jì)算引擎有很多選擇,流計(jì)算如 Storm、Samza、Flink、Kafka Stream 等,批處理如 Spark、Hive、Pig、Flink 等。而同時(shí)支持流處理和批處理的計(jì)算引擎,只有兩種選擇:一個(gè)是 Apache Spark,一個(gè)是 Apache Flink。
從技術(shù),生態(tài)等各方面的綜合考慮,首先,Spark 的技術(shù)理念是基于批來模擬流的計(jì)算。而 Flink則完全相反,它采用的是基于流計(jì)算來模擬批計(jì)算。
從技術(shù)發(fā)展方向看,用批來模擬流有一定的技術(shù)局限性,并且這個(gè)局限性可能很難突破。而 Flink基于流來模擬批,在技術(shù)上有更好的擴(kuò)展性。從長遠(yuǎn)來看,阿里決定用 Flink 做一個(gè)統(tǒng)一的、通用的大數(shù)據(jù)引擎作為未來的選型。
因?yàn)槲恼缕拗?#xff0c;小編在這里就不做過多的介紹了,需要這份Flink實(shí)踐手冊(cè)的朋友可以轉(zhuǎn)發(fā)關(guān)注小編,私信小編“學(xué)習(xí)”來得到獲取方式
Flink從入門到實(shí)踐學(xué)習(xí)路線展示
第一章:初識(shí)Flink
1.1課程目錄
1.2Flink概述
1.3flink layered api
1.4Flink運(yùn)行多樣化
1.5業(yè)界流處理框架對(duì)比
1.6flink use cases
1.7flink發(fā)展趨勢(shì)
1.8如何以正確的姿勢(shì)來學(xué)習(xí)flink
第二章:快速上手開發(fā)第一個(gè)flink程序
2.1開發(fā)環(huán)境準(zhǔn)備之jdk安裝
2.2開發(fā)環(huán)境準(zhǔn)備之maven安裝
2.3開發(fā)環(huán)境準(zhǔn)備之idea安裝
2.4flink批處理應(yīng)用開發(fā)之需求描述
2.5開發(fā)過程中依賴的注意事項(xiàng)
第三章:編程模型及核心概念
3.1核心概念概述
3.2dataset和datastream
3.3flink編程模型
3.4延遲執(zhí)行
3.5flink支持的數(shù)據(jù)類型
第四章:DataSet API編程
4.1dataset api開發(fā)概述
4.2flink綜合java和scala開發(fā)的項(xiàng)目構(gòu)建creenflow
4.3data source宏觀概述
4.4從集合創(chuàng)建dataset之scala實(shí)現(xiàn)
4.5基于flink的分布式緩存功能的java實(shí)現(xiàn)
第五章:DataStream API編程
5.1datastream api編程概述
5.2從socket創(chuàng)建datastream之java實(shí)現(xiàn)
5.3從socket創(chuàng)建datastream之scala實(shí)現(xiàn)
5.4自定義sink之需求描述及表創(chuàng)建-
5.5datastream api開發(fā)小結(jié)
第六章:Flink Table API & SQL編程
6.1什么是flink關(guān)系型
6.2table api&sql概述
6.3使用scala完成table api&sql功能的開發(fā)
6.4使用java完成table api&sql功能的開發(fā)
6.5table api&sql其他功能介紹
第七章:Flink中的Time及Windows的使用
7.1processing time詳解
7.2event time詳解
7.3ingestion time詳解-
7.4如何在flink中指定time的類型
7.5flink watermark概述
第八章:Flink Connectors
8.1connectors概述
8.2hdfs connector的使用
8.3kafka connector概述
8.4ootb環(huán)境的使用
8.5flink整合kafka的checkpoint常用參數(shù)設(shè)置梳理
第九章:Flink部署及作業(yè)提交
9.1flink部署準(zhǔn)備及源碼編譯-
9.2單機(jī)模式部署及代碼提交測(cè)試
9.3flink standalone模式部署及參數(shù)詳解
9.4如何查找需要配置的flink參數(shù)及ui對(duì)應(yīng)關(guān)系介紹
9.5flink scala shell的使用
第十章:Flink監(jiān)控及調(diào)優(yōu)
10.1historyserver概述及配置-
10.2historyserver的使用
10.3monitoring rest ap
10.4flink metric
10.5flink常用優(yōu)化策略
第十一章:基于Flink的互聯(lián)網(wǎng)直播平臺(tái)日志分析項(xiàng)目實(shí)戰(zhàn)
11.1項(xiàng)目功能需求描述
11.2mock數(shù)據(jù)之kafka生產(chǎn)者代碼主流程開發(fā)
11.3使用flink消費(fèi)kafka生產(chǎn)的數(shù)據(jù)
11.4自定義mysql數(shù)據(jù)源讀
11.5完成兩個(gè)流關(guān)聯(lián)的數(shù)據(jù)清洗功能
Flink項(xiàng)目實(shí)踐視頻
Flink視頻教程筆記
基于Flink流處理的動(dòng)態(tài)實(shí)時(shí)電商實(shí)時(shí)分析系統(tǒng)視頻
從上面可以很清晰的看到阿里巴巴為什么選擇Flink以及IT從業(yè)20年大佬講解Flink從入門到實(shí)踐的文檔與視頻,小編都為大家準(zhǔn)備好了,如果大家伙需要的話,可以轉(zhuǎn)發(fā)此文關(guān)注小編,私信小編“學(xué)習(xí)”來得到獲取方式吧!
總結(jié)
以上是生活随笔為你收集整理的flink入门_阿里巴巴为何选择Flink?20年大佬分11章讲解Flink从入门到实践!的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 包python_Python 包:
- 下一篇: 声波武器在中国诞生,它的威力有多大?