本文整理汇总了Java中com.datatorrent.api.DefaultOutputPort类的典型用法代码示例。如果您正苦于以下问题:Java DefaultOutputPort类的具体用法?Java DefaultOutputPort怎么用?Java DefaultOutputPort使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
DefaultOutputPort类属于com.datatorrent.api包,在下文中一共展示了DefaultOutputPort类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: populateDAG
import com.datatorrent.api.DefaultOutputPort; //导入依赖的package包/类
@SuppressWarnings("unchecked")
@Override
public void populateDAG(DAG dag, Configuration conf)
{
RandomKeyValGenerator randGen = dag.addOperator("RandomGenerator", new RandomKeyValGenerator());
UniqueValueCount<Integer> valCount = dag.addOperator("UniqueCounter", new UniqueValueCount<Integer>());
ConsoleOutputOperator consOut = dag.addOperator("Console", new ConsoleOutputOperator());
IntegerUniqueValueCountAppender uniqueUnifier = dag.addOperator("StatefulUniqueCounter", new IntegerUniqueValueCountAppender());
dag.getOperatorMeta("StatefulUniqueCounter").getMeta(uniqueUnifier.input).getAttributes().put(Context.PortContext.STREAM_CODEC, new KeyBasedStreamCodec());
@SuppressWarnings("rawtypes")
DefaultOutputPort valOut = valCount.output;
@SuppressWarnings("rawtypes")
DefaultOutputPort uniqueOut = uniqueUnifier.output;
dag.addStream("Events", randGen.outport, valCount.input);
dag.addStream("Unified", valOut, uniqueUnifier.input);
dag.addStream("Result", uniqueOut, consOut.input);
}
示例2: populateDAG
import com.datatorrent.api.DefaultOutputPort; //导入依赖的package包/类
@SuppressWarnings("unchecked")
@Override
public void populateDAG(DAG dag, Configuration conf)
{
KeyGen keyGen = dag.addOperator("KeyGenerator", new KeyGen());
UniqueValueCount<Integer> valCount = dag.addOperator("ValueCounter", new UniqueValueCount<Integer>());
IntegerUniqueValueCountAppender uniqueUnifier = dag.addOperator("Unique", new IntegerUniqueValueCountAppender());
VerifyTable verifyTable = dag.addOperator("VerifyTable", new VerifyTable());
@SuppressWarnings("rawtypes")
DefaultOutputPort valOut = valCount.output;
@SuppressWarnings("rawtypes")
DefaultOutputPort uniqueOut = uniqueUnifier.output;
dag.addStream("DataIn", keyGen.output, valCount.input);
dag.addStream("UnifyWindows", valOut, uniqueUnifier.input);
dag.addStream("ResultsOut", uniqueOut, verifyTable.input);
}
示例3: attachOutputPortToInputPort
import com.datatorrent.api.DefaultOutputPort; //导入依赖的package包/类
/**
* This is a utility method which is used to attach the output port of an {@link EmbeddableQueryInfoProvider} to the input port
* of the encapsulating {@link AppData.Store}.
* @param <T> The type of data emitted by the {@link EmbeddableQueryInfoProvider}'s output port and received by the
* {@link AppData.Store}'s input port.
* @param outputPort The output port of the {@link EmbeddableQueryInfoProvider} which is being used by an {@link AppData.Store}.
* @param inputPort The input port of the {@link AppData.Store} which is using an {@link EmbeddableQueryInfoProvider}.
*/
public static <T> void attachOutputPortToInputPort(DefaultOutputPort<T> outputPort, final DefaultInputPort<T> inputPort)
{
outputPort.setSink(new Sink<Object>()
{
@Override
@SuppressWarnings("unchecked")
public void put(Object tuple)
{
LOG.debug("processing tuple");
inputPort.process((T)tuple);
}
@Override
public int getCount(boolean reset)
{
return 0;
}
});
}
示例4: test
import com.datatorrent.api.DefaultOutputPort; //导入依赖的package包/类
@SuppressWarnings({ "rawtypes", "unchecked" })
@Test
public void test()
{
DimensionQueryResultMergeUnifier unifier = new DimensionQueryResultMergeUnifier();
DefaultOutputPort<String> output = unifier.output;
SimpleSink<Object> simpleSink = new SimpleSink<Object>();
output.setSink(simpleSink);
unifier.beginWindow(1);
for (List<String> tuples : idToTuplesMap.values()) {
for (String tuple : tuples) {
unifier.process(tuple);
}
}
unifier.endWindow();
//verify
assertCollectionSame(simpleSink.data, (Collection)expectedIdToTuple.values());
}
示例5: output
import com.datatorrent.api.DefaultOutputPort; //导入依赖的package包/类
@Override
public <T> void output(TupleTag<T> tag, WindowedValue<T> tuple) {
DefaultOutputPort<ApexStreamTuple<?>> additionalOutputPort =
additionalOutputPortMapping.get(tag);
if (additionalOutputPort != null) {
additionalOutputPort.emit(ApexStreamTuple.DataTuple.of(tuple));
} else {
output.emit(ApexStreamTuple.DataTuple.of(tuple));
}
if (traceTuples) {
LOG.debug("\nemitting {}\n", tuple);
}
}
示例6: outputWatermark
import com.datatorrent.api.DefaultOutputPort; //导入依赖的package包/类
private void outputWatermark(ApexStreamTuple.WatermarkTuple<?> mark) {
if (traceTuples) {
LOG.debug("\nemitting {}\n", mark);
}
output.emit(mark);
if (!additionalOutputPortMapping.isEmpty()) {
for (DefaultOutputPort<ApexStreamTuple<?>> additionalOutput :
additionalOutputPortMapping.values()) {
additionalOutput.emit(mark);
}
}
}
示例7: emitCreditCardKeyTuple
import com.datatorrent.api.DefaultOutputPort; //导入依赖的package包/类
private void emitCreditCardKeyTuple(MerchantTransaction tuple, DefaultOutputPort<KeyValPair<MerchantKey, CreditCardData>> outputPort)
{
MerchantKey key = getMerchantKey(tuple);
CreditCardData data = new CreditCardData();
data.fullCcNum = tuple.fullCcNum;
data.amount = tuple.amount;
KeyValPair<MerchantKey, CreditCardData> keyValPair = new KeyValPair<MerchantKey, CreditCardData>(key, data);
outputPort.emit(keyValPair);
}
示例8: QueryManagerAsynchronous
import com.datatorrent.api.DefaultOutputPort; //导入依赖的package包/类
public QueryManagerAsynchronous(DefaultOutputPort<String> resultPort,
QueueManager<QUERY_TYPE, META_QUERY, QUEUE_CONTEXT> queueManager,
QueryExecutor<QUERY_TYPE, META_QUERY, QUEUE_CONTEXT, RESULT> queryExecutor,
MessageSerializerFactory messageSerializerFactory,
Thread mainThread)
{
setResultPort(resultPort);
setQueueManager(queueManager);
setQueryExecutor(queryExecutor);
setMessageSerializerFactory(messageSerializerFactory);
setMainThread(mainThread);
}
示例9: populateDAG
import com.datatorrent.api.DefaultOutputPort; //导入依赖的package包/类
@Override
public void populateDAG(DAG dag, Configuration configuration)
{
redisServer = configuration.get("dt.application.AppWithDCWithoutDe.redisServer");
DefaultOutputPort<DimensionTuple> upstreamOutput = populateUpstreamDAG(dag, configuration);
//populateHardCodedDimensionsDAG(dag, configuration, generateOperator.outputPort);
populateDimensionsDAG(dag, configuration, upstreamOutput);
}
示例10: populateUpstreamDAG
import com.datatorrent.api.DefaultOutputPort; //导入依赖的package包/类
public DefaultOutputPort<DimensionTuple> populateUpstreamDAG(DAG dag, Configuration configuration)
{
JsonGenerator eventGenerator = dag.addOperator("eventGenerator", new JsonGenerator());
FilterTuples filterTuples = dag.addOperator("filterTuples", new FilterTuples());
FilterFields filterFields = dag.addOperator("filterFields", new FilterFields());
// Connect the Ports in the Operators
dag.addStream("filterTuples", eventGenerator.out, filterTuples.input).setLocality(DAG.Locality.CONTAINER_LOCAL);
dag.addStream("filterFields", filterTuples.output, filterFields.input).setLocality(DAG.Locality.CONTAINER_LOCAL);
TupleToDimensionTupleConverter converter = dag.addOperator("converter", new TupleToDimensionTupleConverter());
if(includeRedisJoin) {
RedisJoin redisJoin = dag.addOperator("redisJoin", new RedisJoin());
dag.addStream("redisJoin", filterFields.output, redisJoin.input).setLocality(DAG.Locality.CONTAINER_LOCAL);
dag.addStream("converter", redisJoin.output, converter.inputPort).setLocality(DAG.Locality.CONTAINER_LOCAL);
dag.setInputPortAttribute(redisJoin.input, Context.PortContext.PARTITION_PARALLEL, true);
setupRedis(eventGenerator.getCampaigns());
} else {
dag.addStream("convert", filterFields.output, converter.inputPort).setLocality(DAG.Locality.CONTAINER_LOCAL);
}
dag.setInputPortAttribute(filterTuples.input, Context.PortContext.PARTITION_PARALLEL, true);
dag.setInputPortAttribute(filterFields.input, Context.PortContext.PARTITION_PARALLEL, true);
dag.setInputPortAttribute(converter.inputPort, Context.PortContext.PARTITION_PARALLEL, true);
dag.setAttribute(eventGenerator, Context.OperatorContext.PARTITIONER, new StatelessPartitioner<EventGenerator>(PARTITION_NUM));
return converter.outputPort;
}
示例11: emitMerchantKeyTuple
import com.datatorrent.api.DefaultOutputPort; //导入依赖的package包/类
private void emitMerchantKeyTuple(MerchantTransaction tuple, DefaultOutputPort<KeyValPair<MerchantKey, Long>> outputPort)
{
MerchantKey key = getMerchantKey(tuple);
KeyValPair<MerchantKey, Long> keyValPair = new KeyValPair<MerchantKey, Long>(key, tuple.amount);
outputPort.emit(keyValPair);
}
示例12: emitBankIdNumTuple
import com.datatorrent.api.DefaultOutputPort; //导入依赖的package包/类
private void emitBankIdNumTuple(MerchantTransaction tuple, DefaultOutputPort<KeyValPair<KeyValPair<MerchantKey, String>, Integer>> outputPort)
{
MerchantKey key = getMerchantKey(tuple);
KeyValPair<MerchantKey, String> keyValPair = new KeyValPair<MerchantKey, String>(key, tuple.bankIdNum);
outputPort.emit(new KeyValPair<KeyValPair<MerchantKey, String>, Integer>(keyValPair, 1));
}
示例13: getOutputPortOfGenerator
import com.datatorrent.api.DefaultOutputPort; //导入依赖的package包/类
@Override
protected DefaultOutputPort getOutputPortOfGenerator( StringGeneratorInputOperator generator )
{
return generator.outputPort;
}
示例14: getOutputPortOfGenerator
import com.datatorrent.api.DefaultOutputPort; //导入依赖的package包/类
@Override
protected DefaultOutputPort getOutputPortOfGenerator(POJOTupleGenerateOperator generator)
{
return generator.outputPort;
}
示例15: setResultPort
import com.datatorrent.api.DefaultOutputPort; //导入依赖的package包/类
private void setResultPort(DefaultOutputPort<String> resultPort)
{
this.resultPort = Preconditions.checkNotNull(resultPort);
}