2012-12-04 25 views
-1

我想建立在EPL查詢不同用戶的觀看權限如下:

艾斯波背景下使用的許可處理

Users AllowedView 
U1  V1,V2 
U2  V1,V3 
U3  V2,V3 

Input Events sequence are as: 
    User View Amount 
1. U1, V1, 20 
2. U2, V3, 30 
3. U3, V3, 40 
4. U3, V2, 50 

Output required as Sum(amount): 
1. U1 - 20, U2 - 20 (as V1 is changed and permission to U1 & U2) 
2. U2 - 50, U3 - 30 (as V3 is changed and permission to U2 & U3) 
3. U2 - 90, U3 - 70 (as V3 is changed and permission to U2 & U3) 
4. U1 - 70, U3 - 100 (as V2 is changed and permission to U1 & U3) 

我想上下文將做到這一點,但是需要一些幫助來簡化流程事件和配置上下文。


所以我需要的意見組的基礎上,創建上下文分區。 如

Partition1 - V1,V2 
Partition2 - V1,V3 
Partition3 - V2,V3 

讓所有的計算可以將它們的基礎上進行。正如你可以看到上下文的分區鍵不是單個或雙重屬性,它基本上是一組相同的屬性。所以我不能寫爲

Create context TestContext 
    partition by view 
    from EventPermissibleView; 

回答

0

下面的單個傳入事件可以分到多個分區嗎? 也許一個UDF最容易爲每個事件分配一個組ID,組ID可能是 只是所有視圖的字符串附加(排序)

+0

請您詳細說明一下。我不想在兩者之間使用java。有什麼方法可以在esper epl中定義函數嗎?表達會做的伎倆? –