SreamCQL架構(gòu)解析
大?。?/span>0.4 MB 人氣: 2017-10-12 需要積分:1
標(biāo)簽:sreamcql架構(gòu)(1704)
? StreamCQL是一個類SQL的聲明式語言,它用于在流(streams)和可更新關(guān)系(updatable relation)上的可持續(xù)查詢,目的是在流處理平臺分布式計算能力之上,通過使用簡易通用的類SQL語言,使得業(yè)務(wù)邏輯的開發(fā)變得統(tǒng)一和簡易。在功能上,StreamCQL彌補了傳統(tǒng)流處理平臺上一些基本業(yè)務(wù)功能的缺失,除了過濾、轉(zhuǎn)換等基本SQL能力之外, 還引入基于內(nèi)存窗口的計算、統(tǒng)計、關(guān)聯(lián)等能力,以及流數(shù)據(jù)的拆分、合并等功能。StreamCQL重要概念介紹
流:流是一組(無窮)元素的集合,流上的每個元素都屬于同一個schema;每個元素都和邏輯時間有關(guān);即流包含了元組和時間的雙重屬性。流上的任何一個元素,都可以用Element的方式來表示,tuple是元組,包含了數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)內(nèi)容,Time就是該數(shù)據(jù)的邏輯時間。Window:窗口(window)是流處理中解決事件的無邊界(unbounded)及流動性的一種重要手段,把事件流在某一時刻變成靜態(tài)的視圖,以便進行類似數(shù)據(jù)庫表的各種查詢操作。在stream上可以定義window,窗口有兩種類型,時間窗口(time-based)和記錄窗口(row-based)。兩種窗口都支持兩種模式,滑動(slide)和跳動(tumble)。算子:算子是包含了一系列運算關(guān)系的組合,比如聚合算子,就包含了查詢(select),窗口,聚合(aggregate),排序(sort),窗口前過濾(filter before window),窗口之后的過濾(where),聚合之后的過濾(having)等功能,除此之外,還有流拆分算子,流合并算子等。StreamCQL中的算子分為三類:輸入算子、輸出算子、功能算子。
StreamCQL架構(gòu)介紹StreamCQL總體架構(gòu)如下圖所示:

圖1 StreamCQL架構(gòu)圖
StreamCQL的總體架構(gòu)分為引擎、功能、業(yè)務(wù)接口三層,每隔層次之間分工明確,責(zé)任清晰,可以輕易進行功能拓展。
非常好我支持^.^
(0) 0%
不好我反對
(0) 0%
