Flink核心概念

2021-09-26 03:53:19 字數 845 閱讀 3575

根據資料來源的型別,即有界(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 的時間...