• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Java JoinState类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Java中storm.trident.operation.impl.JoinerMultiReducer.JoinState的典型用法代码示例。如果您正苦于以下问题:Java JoinState类的具体用法?Java JoinState怎么用?Java JoinState使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



JoinState类属于storm.trident.operation.impl.JoinerMultiReducer包,在下文中一共展示了JoinState类的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。

示例1: emitCrossJoin

import storm.trident.operation.impl.JoinerMultiReducer.JoinState; //导入依赖的package包/类
private void emitCrossJoin(JoinState state, TridentCollector collector, int overrideIndex, TridentTuple overrideTuple) {
    List<List>[] sides = state.sides;
    int[] indices = state.indices;
    for(int i=0; i<indices.length; i++) {
        indices[i] = 0;
    }
    
    boolean keepGoing = true;
    //emit cross-join of all emitted tuples
    while(keepGoing) {
        List[] combined = new List[sides.length+1];
        combined[0] = state.group;
        for(int i=0; i<sides.length; i++) {
            if(i==overrideIndex) {
                combined[i+1] = overrideTuple;
            } else {
                combined[i+1] = sides[i].get(indices[i]);                
            }
        }
        collector.emit(_factory.create(combined));
        keepGoing = increment(sides, indices, indices.length - 1, overrideIndex);
    }
}
 
开发者ID:zhangjunfang,项目名称:jstorm-0.9.6.3-,代码行数:24,代码来源:JoinerMultiReducer.java


示例2: emitCrossJoin

import storm.trident.operation.impl.JoinerMultiReducer.JoinState; //导入依赖的package包/类
private void emitCrossJoin(JoinState state, TridentCollector collector, int overrideIndex, TridentTuple overrideTuple) {
    List<List>[] sides = state.sides;
    int[] indices = state.indices;
    for (int i = 0; i < indices.length; i++) {
        indices[i] = 0;
    }

    boolean keepGoing = true;
    // emit cross-join of all emitted tuples
    while (keepGoing) {
        List[] combined = new List[sides.length + 1];
        combined[0] = state.group;
        for (int i = 0; i < sides.length; i++) {
            if (i == overrideIndex) {
                combined[i + 1] = overrideTuple;
            } else {
                combined[i + 1] = sides[i].get(indices[i]);
            }
        }
        collector.emit(_factory.create(combined));
        keepGoing = increment(sides, indices, indices.length - 1, overrideIndex);
    }
}
 
开发者ID:kkllwww007,项目名称:jstrom,代码行数:24,代码来源:JoinerMultiReducer.java


示例3: execute

import storm.trident.operation.impl.JoinerMultiReducer.JoinState; //导入依赖的package包/类
@Override
public void execute(JoinState state, int streamIndex, TridentTuple group, TridentTuple input, TridentCollector collector) {
    //: do the inner join incrementally, emitting the cross join with this tuple, against all other sides
    //: only do cross join if at least one tuple in each side
    List<List> side = state.sides[streamIndex];
    if(side.isEmpty()) {
        state.numSidesReceived++;
    }
            
    side.add(input);
    if(state.numSidesReceived == state.sides.length) {
        emitCrossJoin(state, collector, streamIndex, input);
    }        
}
 
开发者ID:zhangjunfang,项目名称:jstorm-0.9.6.3-,代码行数:15,代码来源:JoinerMultiReducer.java


示例4: complete

import storm.trident.operation.impl.JoinerMultiReducer.JoinState; //导入依赖的package包/类
@Override
public void complete(JoinState state, TridentTuple group, TridentCollector collector) {
    List<List>[] sides = state.sides;
    boolean wasEmpty = state.numSidesReceived < sides.length;
    for(int i=0; i<sides.length; i++) {
        if(sides[i].isEmpty() && _types.get(i) == JoinType.OUTER) {
            state.numSidesReceived++;
            sides[i].add(makeNullList(_sideFields.get(i).size()));
        }
    }
    if(wasEmpty && state.numSidesReceived == sides.length) {
        emitCrossJoin(state, collector, -1, null);
    }
}
 
开发者ID:zhangjunfang,项目名称:jstorm-0.9.6.3-,代码行数:15,代码来源:JoinerMultiReducer.java


示例5: JoinState

import storm.trident.operation.impl.JoinerMultiReducer.JoinState; //导入依赖的package包/类
public JoinState(int numSides, TridentTuple group) {
    sides = new List[numSides];
    indices = new int[numSides];
    this.group = group;
    for(int i=0; i<numSides; i++) {
        sides[i] = new ArrayList<List>();
    }            
}
 
开发者ID:zhangjunfang,项目名称:jstorm-0.9.6.3-,代码行数:9,代码来源:JoinerMultiReducer.java


示例6: execute

import storm.trident.operation.impl.JoinerMultiReducer.JoinState; //导入依赖的package包/类
@Override
public void execute(JoinState state, int streamIndex, TridentTuple group, TridentTuple input, TridentCollector collector) {
    //TODO: do the inner join incrementally, emitting the cross join with this tuple, against all other sides
    //TODO: only do cross join if at least one tuple in each side
    List<List> side = state.sides[streamIndex];
    if(side.isEmpty()) {
        state.numSidesReceived++;
    }
            
    side.add(input);
    if(state.numSidesReceived == state.sides.length) {
        emitCrossJoin(state, collector, streamIndex, input);
    }        
}
 
开发者ID:songtk,项目名称:learn_jstorm,代码行数:15,代码来源:JoinerMultiReducer.java


示例7: execute

import storm.trident.operation.impl.JoinerMultiReducer.JoinState; //导入依赖的package包/类
@Override
public void execute(JoinState state, int streamIndex, TridentTuple group, TridentTuple input, TridentCollector collector) {
    // TODO: do the inner join incrementally, emitting the cross join with this tuple, against all other sides
    // TODO: only do cross join if at least one tuple in each side
    List<List> side = state.sides[streamIndex];
    if (side.isEmpty()) {
        state.numSidesReceived++;
    }

    side.add(input);
    if (state.numSidesReceived == state.sides.length) {
        emitCrossJoin(state, collector, streamIndex, input);
    }
}
 
开发者ID:kkllwww007,项目名称:jstrom,代码行数:15,代码来源:JoinerMultiReducer.java


示例8: complete

import storm.trident.operation.impl.JoinerMultiReducer.JoinState; //导入依赖的package包/类
@Override
public void complete(JoinState state, TridentTuple group, TridentCollector collector) {
    List<List>[] sides = state.sides;
    boolean wasEmpty = state.numSidesReceived < sides.length;
    for (int i = 0; i < sides.length; i++) {
        if (sides[i].isEmpty() && _types.get(i) == JoinType.OUTER) {
            state.numSidesReceived++;
            sides[i].add(makeNullList(_sideFields.get(i).size()));
        }
    }
    if (wasEmpty && state.numSidesReceived == sides.length) {
        emitCrossJoin(state, collector, -1, null);
    }
}
 
开发者ID:kkllwww007,项目名称:jstrom,代码行数:15,代码来源:JoinerMultiReducer.java


示例9: JoinState

import storm.trident.operation.impl.JoinerMultiReducer.JoinState; //导入依赖的package包/类
public JoinState(int numSides, TridentTuple group) {
    sides = new List[numSides];
    indices = new int[numSides];
    this.group = group;
    for (int i = 0; i < numSides; i++) {
        sides[i] = new ArrayList<List>();
    }
}
 
开发者ID:kkllwww007,项目名称:jstrom,代码行数:9,代码来源:JoinerMultiReducer.java


示例10: init

import storm.trident.operation.impl.JoinerMultiReducer.JoinState; //导入依赖的package包/类
@Override
public JoinState init(TridentCollector collector, TridentTuple group) {
    return new JoinState(_types.size(), group);
}
 
开发者ID:zhangjunfang,项目名称:jstorm-0.9.6.3-,代码行数:5,代码来源:JoinerMultiReducer.java



注:本文中的storm.trident.operation.impl.JoinerMultiReducer.JoinState类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java Mimetypes类代码示例发布时间:2022-05-22
下一篇:
Java CoordinateOperationFactory类代码示例发布时间:2022-05-22
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap