根據資料來源的型別,即有界(bounded)或無界(unbounded)資料來源,您可以編寫乙個批處理程式或流處理程式,其中dataset api用於批處理,datastream api用於流處理。
flink程式看起來像轉換資料集合的常規程式。每個程式都由相同的基本部分組成:
streamexecutionenvironment
(env)是flink程式的基本入口 ,你可以基於他使用一些靜態方法,比如:
getexecutionenvironment()
createlocalenvironment()
createremoteenvironment
(host: string, port: int, jarfiles: string*
)
通常,您只需要使用getexecutionenvironment()
基本使用
val env = streamexecutionenvironment.
getexecutionenvironment()
val text: datastream[string]
= env.
readtextfile
("file:///path/to/file"
)
所有flink程式都是lazy執行的:當程式的主方法執行時,資料loading和transformations不會直接發生。相反,每個操作都被建立並新增到程式的計畫中。當執行環境上的execute()
呼叫顯式觸發執行時,才會實際執行操作。程式是在本地執行還是在集群上執行取決於執行環境的型別 Flink核心概念
一 flink的定義 flnk是乙個分布式處理引擎,用於在無邊界和有邊界資料流上進行有狀態的計算。flink能在常見集群環境中執行,並能以記憶體速度和任意規模進行計算。二 有界流和無界流 flink的核心是流處理,當然也支援批處理。flink的本質是流處理,它將批處理看作是流處理的特殊情況,即有界流...
Flink核心概念之window
計數視窗 1 windowall就是把所有資料弄到乙個slot處理,並行度始終為1 2 keyby會把資料分到不同的slot,keyby.window可以設定並行度 package com.fouth sink import org.apache.flink.streaming.api.functi...
FLINK流式概念
flink流式概念整理 動態表 1 將流轉換為動態表。2 在動態表上計算乙個連續查詢,生成乙個新的動態表。3 生成的動態表被轉換回流。時間屬性 時間屬性可以像普通的時間戳的列一樣被使用和計算。一旦時間屬性被用在了計算中,它就會被物化,進而變成乙個普通的時間戳。普通的時間戳是無法跟 flink 的時間...