2017-01-03 51 views
0

假設我有一個數據流分類或數據流的GroupBy數據和流程與CEP分別

x:1, y:2 , z:3 , x:7 , y:-1, z:0, z:3 , z:2, y:3 ,x: 2 ,y:6 

我怎麼把x,y,z在自己的水桶和應用上我的CEP規則。

x:1, x:7,x: 2 
y:2, y:-1, y:3 , y:6 
z:3, z:0 , z:3, z:2 

或以其他方式表達。如何將流分成這些類別(每個x,y,z一個流)。我會得到3個具有自己的CEP處理的子流。

這裏的挑戰是,x,y,z沒有預先定義。所以我不能預先創建流並使用if或switch語句進行賦值。

編輯: 的圖案將是等,」如果x值是0之間 - 8爲最後10分鐘

回答

0

這是通過‘鍵控’的類別屬性的流

如果你有一個DataStream[(String, Int)]這看起來如下:

val yourStream: DataStream[(String, Int)] = ??? 
val yourPattern: Pattern = ??? 

// key by String attribute 
val keyedStream = yourStream.keyBy(_._1) 
// apply pattern on keyed stream 
val patternStream: PatternStream = CEP.pattern(keyedStream, yourPattern) 

模式將爲鍵屬性的每個不同的值進行評估

+0

編輯我的問題。我將如何使其符合我的要求。我必須觀看10分鐘的x值並做出決定。 – madhairsilence