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

Java OutputFieldsGetter类代码示例

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

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



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

示例1: getOutputFields

import backtype.storm.topology.OutputFieldsGetter; //导入依赖的package包/类
@Override
public FFields getOutputFields() {
	// storm.tri dent.util.Tri dentUtils
	//			public static Fields getSingleOutputStreamFields(IComponent component) {
	OutputFieldsGetter getter = new OutputFieldsGetter();
	s.declareOutputFields(getter);
	Map<String, StreamInfo> declaration = getter.getFieldsDeclaration();
	if(declaration.size()!=1) {
		throw new RuntimeException("Flexy only supports components that emit a single stream");
	}
	StreamInfo si = declaration.values().iterator().next();
	if(si.is_direct()) {
		throw new RuntimeException("Flexy does not support direct streams");
	}
	return new FFields(si.get_output_fields());
}
 
开发者ID:JamesLampton,项目名称:piggybank-squeal,代码行数:17,代码来源:SpoutSource.java


示例2: getSchema

import backtype.storm.topology.OutputFieldsGetter; //导入依赖的package包/类
@Override
public ResourceSchema getSchema(String location, Job job)
		throws IOException {
	Schema s = new Schema();
	IRichSpout l = getSpout();

	OutputFieldsGetter declarer = new OutputFieldsGetter();
	
	l.declareOutputFields(declarer);
	
	for (Entry<String, StreamInfo> e : declarer.getFieldsDeclaration().entrySet()) {
		for (String field : e.getValue().get_output_fields()) {
			s.add(new Schema.FieldSchema(field, DataType.BYTEARRAY));
		}
	}
	
	return new ResourceSchema(s);
}
 
开发者ID:JamesLampton,项目名称:piggybank-squeal,代码行数:19,代码来源:SpoutWrapper.java


示例3: getSingleOutputStreamFields

import backtype.storm.topology.OutputFieldsGetter; //导入依赖的package包/类
public static Fields getSingleOutputStreamFields(IComponent component) {
    OutputFieldsGetter getter = new OutputFieldsGetter();
    component.declareOutputFields(getter);
    Map<String, StreamInfo> declaration = getter.getFieldsDeclaration();
    if(declaration.size()!=1) {
        throw new RuntimeException("Trident only supports components that emit a single stream");
    }
    StreamInfo si = declaration.values().iterator().next();
    if(si.is_direct()) {
        throw new RuntimeException("Trident does not support direct streams");
    }
    return new Fields(si.get_output_fields());        
}
 
开发者ID:zhangjunfang,项目名称:jstorm-0.9.6.3-,代码行数:14,代码来源:TridentUtils.java


示例4: getSingleOutputStreamFields

import backtype.storm.topology.OutputFieldsGetter; //导入依赖的package包/类
public static Fields getSingleOutputStreamFields(IComponent component) {
    OutputFieldsGetter getter = new OutputFieldsGetter();
    component.declareOutputFields(getter);
    Map<String, StreamInfo> declaration = getter.getFieldsDeclaration();
    if(declaration.size()!=1) {
        throw new RuntimeException("Trident only supports components that emit a single stream");
    }
    StreamInfo si = declaration.values().iterator().next();
    if(si.is_direct()) {
        throw new RuntimeException("Trident does not support direct streams");
    }
    return new Fields(si.get_output_fields());
}
 
开发者ID:kkllwww007,项目名称:jstrom,代码行数:14,代码来源:TridentUtils.java


示例5: createBuilder

import backtype.storm.topology.OutputFieldsGetter; //导入依赖的package包/类
@Override
public TopologyBuilder createBuilder(){
	TopologyBuilder builder = super.initBuilder();
	//设置预处理步骤
	builder.setBolt(this.prepareId, new PrepareRequest()).noneGrouping(spoutId);
	AbstractDrpcBolt lastBolt = setBolt(builder, this.prepareId);
	
	OutputFieldsGetter getter = new OutputFieldsGetter();
       lastBolt.declareOutputFields(getter);
       Map<String, StreamInfo> streams = getter.getFieldsDeclaration();
       if(streams.size()!=1) {
           throw new RuntimeException("Must declare exactly one stream from last bolt in LinearDRPCTopology");
       }
       String outputStream = streams.keySet().iterator().next();
       List<String> fields = streams.get(outputStream).get_output_fields();
       if(fields.size()!=2) {
           throw new RuntimeException("Output stream of last component in LinearDRPCTopology must contain exactly two fields. The first should be the request id, and the second should be the result.");
       }
	
       //合并步骤
	builder.setBolt(this.joinId, new JoinResult(this.prepareId))
       .fieldsGrouping(lastBolt.getBoltName(), outputStream, new Fields(fields.get(0)))
       .fieldsGrouping(this.prepareId, PrepareRequest.RETURN_STREAM, new Fields("request"));
	//return步骤
	builder.setBolt(returnId, new ReturnResults()).noneGrouping(this.joinId);
	return builder;
}
 
开发者ID:yiyongfei,项目名称:jea,代码行数:28,代码来源:AbstractDRPCTopology.java


示例6: declareOutputFields

import backtype.storm.topology.OutputFieldsGetter; //导入依赖的package包/类
@Override
public void declareOutputFields(OutputFieldsDeclarer declarer) {
    boltExecutor.declareOutputFields(declarer);
    Map<String, StreamInfo> streams = ((OutputFieldsGetter) declarer).getFieldsDeclaration();
    if (streams.size() > 0) {
        declarer.declareStream(TransactionCommon.BARRIER_STREAM_ID, new Fields(TransactionCommon.BARRIER_SNAPSHOT_FIELD));
    } else {
        isEndBolt = true;
    }
}
 
开发者ID:alibaba,项目名称:jstorm,代码行数:11,代码来源:TransactionBolt.java


示例7: createTopology

import backtype.storm.topology.OutputFieldsGetter; //导入依赖的package包/类
private StormTopology createTopology(DRPCSpout spout) {
	final String SPOUT_ID = "spout";
	final String PREPARE_ID = "prepare-request";

	TopologyBuilder builder = new TopologyBuilder();
	builder.setSpout(SPOUT_ID, spout);
	builder.setBolt(PREPARE_ID, new PrepareRequest())
			.noneGrouping(SPOUT_ID);
	int i = 0;
	for (; i < _components.size(); i++) {
		Component component = _components.get(i);

		Map<String, SourceArgs> source = new HashMap<String, SourceArgs>();
		if (i == 1) {
			source.put(boltId(i - 1), SourceArgs.single());
		} else if (i >= 2) {
			source.put(boltId(i - 1), SourceArgs.all());
		}
		IdStreamSpec idSpec = null;
		if (i == _components.size() - 1
				&& component.bolt instanceof FinishedCallback) {
			idSpec = IdStreamSpec.makeDetectSpec(PREPARE_ID,
					PrepareRequest.ID_STREAM);
		}
		BoltDeclarer declarer = builder.setBolt(boltId(i),
				new CoordinatedBolt(component.bolt, source, idSpec),
				component.parallelism);

		for (Map conf : component.componentConfs) {
			declarer.addConfigurations(conf);
		}

		if (idSpec != null) {
			declarer.fieldsGrouping(idSpec.getGlobalStreamId()
					.get_componentId(), PrepareRequest.ID_STREAM,
					new Fields("request"));
		}
		if (i == 0 && component.declarations.isEmpty()) {
			declarer.noneGrouping(PREPARE_ID, PrepareRequest.ARGS_STREAM);
		} else {
			String prevId;
			if (i == 0) {
				prevId = PREPARE_ID;
			} else {
				prevId = boltId(i - 1);
			}
			for (InputDeclaration declaration : component.declarations) {
				declaration.declare(prevId, declarer);
			}
		}
		if (i > 0) {
			declarer.directGrouping(boltId(i - 1),
					Constants.COORDINATED_STREAM_ID);
		}
	}

	IRichBolt lastBolt = _components.get(_components.size() - 1).bolt;
	OutputFieldsGetter getter = new OutputFieldsGetter();
	lastBolt.declareOutputFields(getter);
	Map<String, StreamInfo> streams = getter.getFieldsDeclaration();
	if (streams.size() != 1) {
		throw new RuntimeException(
				"Must declare exactly one stream from last bolt in LinearDRPCTopology");
	}
	String outputStream = streams.keySet().iterator().next();
	List<String> fields = streams.get(outputStream).get_output_fields();
	if (fields.size() != 2) {
		throw new RuntimeException(
				"Output stream of last component in LinearDRPCTopology must contain exactly two fields. The first should be the request id, and the second should be the result.");
	}

	builder.setBolt(boltId(i), new JoinResult(PREPARE_ID))
			.fieldsGrouping(boltId(i - 1), outputStream,
					new Fields(fields.get(0)))
			.fieldsGrouping(PREPARE_ID, PrepareRequest.RETURN_STREAM,
					new Fields("request"));
	i++;
	builder.setBolt(boltId(i), new ReturnResults()).noneGrouping(
			boltId(i - 1));
	return builder.createTopology();
}
 
开发者ID:zhangjunfang,项目名称:jstorm-0.9.6.3-,代码行数:82,代码来源:LinearDRPCTopologyBuilder.java


示例8: createTopology

import backtype.storm.topology.OutputFieldsGetter; //导入依赖的package包/类
private StormTopology createTopology(DRPCSpout spout) {
    final String SPOUT_ID = "spout";
    final String PREPARE_ID = "prepare-request";

    TopologyBuilder builder = new TopologyBuilder();
    builder.setSpout(SPOUT_ID, spout);
    builder.setBolt(PREPARE_ID, new PrepareRequest()).noneGrouping(SPOUT_ID);
    int i = 0;
    for (; i < _components.size(); i++) {
        Component component = _components.get(i);

        Map<String, SourceArgs> source = new HashMap<String, SourceArgs>();
        if (i == 1) {
            source.put(boltId(i - 1), SourceArgs.single());
        } else if (i >= 2) {
            source.put(boltId(i - 1), SourceArgs.all());
        }
        IdStreamSpec idSpec = null;
        if (i == _components.size() - 1 && component.bolt instanceof FinishedCallback) {
            idSpec = IdStreamSpec.makeDetectSpec(PREPARE_ID, PrepareRequest.ID_STREAM);
        }
        BoltDeclarer declarer = builder.setBolt(boltId(i), new CoordinatedBolt(component.bolt, source, idSpec), component.parallelism);

        for (Map conf : component.componentConfs) {
            declarer.addConfigurations(conf);
        }

        if (idSpec != null) {
            declarer.fieldsGrouping(idSpec.getGlobalStreamId().get_componentId(), PrepareRequest.ID_STREAM, new Fields("request"));
        }
        if (i == 0 && component.declarations.isEmpty()) {
            declarer.noneGrouping(PREPARE_ID, PrepareRequest.ARGS_STREAM);
        } else {
            String prevId;
            if (i == 0) {
                prevId = PREPARE_ID;
            } else {
                prevId = boltId(i - 1);
            }
            for (InputDeclaration declaration : component.declarations) {
                declaration.declare(prevId, declarer);
            }
        }
        if (i > 0) {
            declarer.directGrouping(boltId(i - 1), Constants.COORDINATED_STREAM_ID);
        }
    }

    IRichBolt lastBolt = _components.get(_components.size() - 1).bolt;
    OutputFieldsGetter getter = new OutputFieldsGetter();
    lastBolt.declareOutputFields(getter);
    Map<String, StreamInfo> streams = getter.getFieldsDeclaration();
    if (streams.size() != 1) {
        throw new RuntimeException("Must declare exactly one stream from last bolt in LinearDRPCTopology");
    }
    String outputStream = streams.keySet().iterator().next();
    List<String> fields = streams.get(outputStream).get_output_fields();
    if (fields.size() != 2) {
        throw new RuntimeException(
                "Output stream of last component in LinearDRPCTopology must contain exactly two fields. The first should be the request id, and the second should be the result.");
    }

    builder.setBolt("JoinResult", new JoinResult(PREPARE_ID)).fieldsGrouping(boltId(i - 1), outputStream, new Fields(fields.get(0)))
            .fieldsGrouping(PREPARE_ID, PrepareRequest.RETURN_STREAM, new Fields("request"));
    i++;
    builder.setBolt("ReturnResults", new ReturnResults()).noneGrouping("JoinResult");
    return builder.createTopology();
}
 
开发者ID:kkllwww007,项目名称:jstrom,代码行数:69,代码来源:LinearDRPCTopologyBuilder.java


示例9: createTopology

import backtype.storm.topology.OutputFieldsGetter; //导入依赖的package包/类
private StormTopology createTopology(DRPCSpout spout) {
    final String SPOUT_ID = "spout";
    final String PREPARE_ID = "prepare-request";
    
    TopologyBuilder builder = new TopologyBuilder();
    builder.setSpout(SPOUT_ID, spout);
    builder.setBolt(PREPARE_ID, new PrepareRequest())
            .noneGrouping(SPOUT_ID);
    int i=0;
    for(; i<_components.size();i++) {
        Component component = _components.get(i);
        
        Map<String, SourceArgs> source = new HashMap<String, SourceArgs>();
        if (i==1) {
            source.put(boltId(i-1), SourceArgs.single());
        } else if (i>=2) {
            source.put(boltId(i-1), SourceArgs.all());
        }
        IdStreamSpec idSpec = null;
        if(i==_components.size()-1 && component.bolt instanceof FinishedCallback) {
            idSpec = IdStreamSpec.makeDetectSpec(PREPARE_ID, PrepareRequest.ID_STREAM);
        }
        BoltDeclarer declarer = builder.setBolt(
                boltId(i),
                new CoordinatedBolt(component.bolt, source, idSpec),
                component.parallelism);
        
        for(Map conf: component.componentConfs) {
            declarer.addConfigurations(conf);
        }
        
        if(idSpec!=null) {
            declarer.fieldsGrouping(idSpec.getGlobalStreamId().get_componentId(), PrepareRequest.ID_STREAM, new Fields("request"));
        }
        if(i==0 && component.declarations.isEmpty()) {
            declarer.noneGrouping(PREPARE_ID, PrepareRequest.ARGS_STREAM);
        } else {
            String prevId;
            if(i==0) {
                prevId = PREPARE_ID;
            } else {
                prevId = boltId(i-1);
            }
            for(InputDeclaration declaration: component.declarations) {
                declaration.declare(prevId, declarer);
            }
        }
        if(i>0) {
            declarer.directGrouping(boltId(i-1), Constants.COORDINATED_STREAM_ID); 
        }
    }
    
    IRichBolt lastBolt = _components.get(_components.size()-1).bolt;
    OutputFieldsGetter getter = new OutputFieldsGetter();
    lastBolt.declareOutputFields(getter);
    Map<String, StreamInfo> streams = getter.getFieldsDeclaration();
    if(streams.size()!=1) {
        throw new RuntimeException("Must declare exactly one stream from last bolt in LinearDRPCTopology");
    }
    String outputStream = streams.keySet().iterator().next();
    List<String> fields = streams.get(outputStream).get_output_fields();
    if(fields.size()!=2) {
        throw new RuntimeException("Output stream of last component in LinearDRPCTopology must contain exactly two fields. The first should be the request id, and the second should be the result.");
    }

    builder.setBolt(boltId(i), new JoinResult(PREPARE_ID))
            .fieldsGrouping(boltId(i-1), outputStream, new Fields(fields.get(0)))
            .fieldsGrouping(PREPARE_ID, PrepareRequest.RETURN_STREAM, new Fields("request"));
    i++;
    builder.setBolt(boltId(i), new ReturnResults())
            .noneGrouping(boltId(i-1));
    return builder.createTopology();
}
 
开发者ID:metamx,项目名称:incubator-storm,代码行数:74,代码来源:LinearDRPCTopologyBuilder.java



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


鲜花

握手

雷人

路过

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

请发表评论

全部评论

专题导读
上一篇:
Java Modification类代码示例发布时间:2022-05-22
下一篇:
Java NodeType类代码示例发布时间: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