You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@eagle.apache.org by "Libin, Sun (JIRA)" <ji...@apache.org> on 2015/11/23 09:16:10 UTC

[jira] [Updated] (EAGLE-52) Eagle framework should support custom group by function in addition to group by fields

     [ https://issues.apache.org/jira/browse/EAGLE-52?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Libin, Sun updated EAGLE-52:
----------------------------
    Description: 
In some situation Like EAGLE-24, user need to define custom group by methods to do load balance

storm support user to implement a custom stream grouping by implementing the CustomStreamGrouping interface and declare it in InputDeclarer, The following is InputDeclarer interface:

Eagle should add interface for passing custom group by methods in high level DSL

public interface InputDeclarer<T extends InputDeclarer> {
    public T fieldsGrouping(String componentId, Fields fields);  
    public T fieldsGrouping(String componentId, String streamId, Fields fields);  

    public T globalGrouping(String componentId);  
    public T globalGrouping(String componentId, String streamId);  

    public T shuffleGrouping(String componentId);  
    public T shuffleGrouping(String componentId, String streamId);  

    public T localOrShuffleGrouping(String componentId);  
    public T localOrShuffleGrouping(String componentId, String streamId);  

    public T noneGrouping(String componentId);  
    public T noneGrouping(String componentId, String streamId);  
 
    public T allGrouping(String componentId);  
    public T allGrouping(String componentId, String streamId);  

    public T directGrouping(String componentId);  
    public T directGrouping(String componentId, String streamId);  

    public T customGrouping(String componentId, CustomStreamGrouping grouping);  
    public T customGrouping(String componentId, String streamId, CustomStreamGrouping grouping);  
    
    public T grouping(GlobalStreamId id, Grouping grouping);  

}

  was:
In some situation Like EAGLE-24, user need to define custom group by methods to do load balance

storm support user to implement a custom stream grouping by implementing the CustomStreamGrouping interface and declare it in InputDeclarer, The following is InputDeclarer interface:

Eagle should add interface for passing custom group by methods in high level DSL

public interface InputDeclarer<T extends InputDeclarer> {
    public T fieldsGrouping(String componentId, Fields fields);
    public T fieldsGrouping(String componentId, String streamId, Fields fields);

    public T globalGrouping(String componentId);
    public T globalGrouping(String componentId, String streamId);

    public T shuffleGrouping(String componentId);
    public T shuffleGrouping(String componentId, String streamId);

    public T localOrShuffleGrouping(String componentId);
    public T localOrShuffleGrouping(String componentId, String streamId);

    public T noneGrouping(String componentId);
    public T noneGrouping(String componentId, String streamId);

    public T allGrouping(String componentId);
    public T allGrouping(String componentId, String streamId);

    public T directGrouping(String componentId);
    public T directGrouping(String componentId, String streamId);

    public T customGrouping(String componentId, CustomStreamGrouping grouping);
    public T customGrouping(String componentId, String streamId, CustomStreamGrouping grouping);
    
    public T grouping(GlobalStreamId id, Grouping grouping);

}


> Eagle framework should support custom group by function in addition to group by fields
> --------------------------------------------------------------------------------------
>
>                 Key: EAGLE-52
>                 URL: https://issues.apache.org/jira/browse/EAGLE-52
>             Project: Eagle
>          Issue Type: Improvement
>            Reporter: Libin, Sun
>            Assignee: Libin, Sun
>
> In some situation Like EAGLE-24, user need to define custom group by methods to do load balance
> storm support user to implement a custom stream grouping by implementing the CustomStreamGrouping interface and declare it in InputDeclarer, The following is InputDeclarer interface:
> Eagle should add interface for passing custom group by methods in high level DSL
> public interface InputDeclarer<T extends InputDeclarer> {
>     public T fieldsGrouping(String componentId, Fields fields);  
>     public T fieldsGrouping(String componentId, String streamId, Fields fields);  
>     public T globalGrouping(String componentId);  
>     public T globalGrouping(String componentId, String streamId);  
>     public T shuffleGrouping(String componentId);  
>     public T shuffleGrouping(String componentId, String streamId);  
>     public T localOrShuffleGrouping(String componentId);  
>     public T localOrShuffleGrouping(String componentId, String streamId);  
>     public T noneGrouping(String componentId);  
>     public T noneGrouping(String componentId, String streamId);  
>  
>     public T allGrouping(String componentId);  
>     public T allGrouping(String componentId, String streamId);  
>     public T directGrouping(String componentId);  
>     public T directGrouping(String componentId, String streamId);  
>     public T customGrouping(String componentId, CustomStreamGrouping grouping);  
>     public T customGrouping(String componentId, String streamId, CustomStreamGrouping grouping);  
>     
>     public T grouping(GlobalStreamId id, Grouping grouping);  
> }



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)