Algorithm
一危号、用鏈表和二叉樹(shù)實(shí)現(xiàn)Set集合
二蹬蚁、散列表
散列表就是使用數(shù)組下標(biāo)隨機(jī)訪問(wèn)時(shí)候復(fù)雜度為O(1)的特性晰奖,當(dāng)我們按照鍵值查找元素時(shí)闷袒,通過(guò)散列函數(shù)將key轉(zhuǎn)化為下標(biāo)然后進(jìn)行訪問(wèn)序目,當(dāng)有大量散列沖突時(shí)會(huì)退化為O(n)的時(shí)間復(fù)雜度臂痕。
解決散列沖突的方法:開(kāi)放尋址法和鏈表法
Review
Flink動(dòng)態(tài)表概念
流和表為什么可以相互轉(zhuǎn)換呢?
我們都知道傳統(tǒng)Mysql的主從復(fù)制是通過(guò)binlog來(lái)實(shí)現(xiàn)的猿涨,主庫(kù)所有的表操作都按時(shí)間進(jìn)行記錄握童,表轉(zhuǎn)換成流,在對(duì)binlog進(jìn)行回放到從庫(kù)的過(guò)程就是流數(shù)據(jù)處理的過(guò)程叛赚,這時(shí)候流轉(zhuǎn)換成表澡绩。所以可以說(shuō)流和表在時(shí)間維度上具有等價(jià)性。
其次Flink是使用的Apache開(kāi)源的Calcite項(xiàng)目做SQL解析的俺附。Calcite通過(guò)JavaCC將SQL解析成AST樹(shù)肥卡,經(jīng)過(guò)校驗(yàn)、優(yōu)化后進(jìn)行執(zhí)行事镣,將物理執(zhí)行計(jì)劃轉(zhuǎn)化成Flink可執(zhí)行的程序步鉴。(SparkSQL是用Catalyst進(jìn)行解析和優(yōu)化的)
Tips
一、996.ICU
一個(gè)抗議程序員加班的網(wǎng)站蛮浑,3天內(nèi)破十萬(wàn)star唠叛,一個(gè)靜態(tài)頁(yè)面直接進(jìn)入GitHub前十,也算是奇觀了沮稚。
git地址 https://github.com/996icu/996.ICU
二艺沼、Window10上運(yùn)行Docker
可以在Windows上模擬搭建各種環(huán)境,不需要啟動(dòng)慢慢的虛擬機(jī)蕴掏。如果是window10 64位專業(yè)版可以在Windows功能中打開(kāi)Hyper-V和容器后障般。直接雙擊安裝。如果是老版本則還得下載一個(gè) Docker Toolbox工具輔助運(yùn)行盛杰。建議用Win10專業(yè)版運(yùn)行否則可能回出現(xiàn)和VM之類的虛擬機(jī)沖突問(wèn)題挽荡。
官網(wǎng)地址 https://docs.docker.com/docker-for-windows/
三、從疑問(wèn)入手了解Flink
個(gè)人總結(jié)的一些Flink知識(shí)點(diǎn) 地址
Share
《如何遇到貴人》
小時(shí)候看多了武俠小說(shuō)即供,總是向往這樣一種場(chǎng)景定拟,去深山老林中碰到一位得道高僧,高僧賜予我一部武林秘籍逗嫡,修煉完之后天下無(wú)雙青自。長(zhǎng)大了發(fā)現(xiàn)這是幾乎大多數(shù)人都有過(guò)的想法株依,遇到“大俠”,遇到真實(shí)生活中的貴人延窜。那么怎么才能遇到貴人呢恋腕?總不能單單的靠運(yùn)氣吧?
什么人容易被人幫助逆瑞,是樂(lè)觀的人荠藤?樂(lè)于幫助別人的人?會(huì)提問(wèn)的人获高?可以確定的是肯定不是愛(ài)占便宜哈肖,愛(ài)添麻煩,總乞討做伸手黨的人谋减。反觀自己幫助別人的感受牡彻,我個(gè)人并不是樂(lè)意幫助所有人,我會(huì)幫助那些我認(rèn)為善良的人出爹,并且會(huì)在那些善良的人眼睛里看到我的價(jià)值庄吼。所以自己先得是貴人,才可能遇到更多的貴人严就,才會(huì)有有效的社交总寻。貴人之所以幫助你,是因?yàn)橘F人看到了你的價(jià)值梢为,要么這種價(jià)值幫助他確定自己的價(jià)值渐行。要么這種價(jià)值讓他看到了未來(lái)的可能性。遇到貴人不是最終的目的铸董,最終的目的是成為貴人祟印。
Research
系統(tǒng)學(xué)習(xí)maven及其插件,閱讀《Maven實(shí)戰(zhàn)》
學(xué)習(xí)Stream Table實(shí)時(shí)計(jì)算的原理