backtype.storm.tuple.Tuple.getSourceComponent()方法的使用及代码示例

x33g5p2x  于2022-01-29 转载在 其他  
字(8.8k)|赞(0)|评价(0)|浏览(144)

本文整理了Java中backtype.storm.tuple.Tuple.getSourceComponent()方法的一些代码示例,展示了Tuple.getSourceComponent()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Tuple.getSourceComponent()方法的具体详情如下:
包路径:backtype.storm.tuple.Tuple
类名称:Tuple
方法名:getSourceComponent

Tuple.getSourceComponent介绍

[英]Gets the id of the component that created this tuple.
[中]获取创建此元组的组件的id。

代码示例

代码示例来源:origin: alibaba/jstorm

public static boolean isTickTuple(Tuple tuple) {
    return tuple.getSourceComponent().equals(Constants.SYSTEM_COMPONENT_ID) &&
        tuple.getSourceStreamId().equals(Constants.SYSTEM_TICK_STREAM_ID);
  }
}

代码示例来源:origin: alibaba/jstorm

public static boolean isTick(Tuple tuple) {
  return tuple != null && Constants.SYSTEM_COMPONENT_ID.equals(tuple.getSourceComponent())
      && Constants.SYSTEM_TICK_STREAM_ID.equals(tuple.getSourceStreamId());
}

代码示例来源:origin: alibaba/mdrill

/**
 * Returns the global stream id (component + stream) of this tuple.
 */
public GlobalStreamId getSourceGlobalStreamid() {
  return new GlobalStreamId(getSourceComponent(), streamId);
}

代码示例来源:origin: alibaba/mdrill

@Override
public String toString() {
  return "source: " + getSourceComponent() + ":" + taskId + ", stream: " + streamId + ", id: "+ id.toString() + ", " + values.toString();
}

代码示例来源:origin: alibaba/jstorm

@Override
public void execute(Tuple tuple) {
  if (tuple.getSourceComponent().equals(_wordComponent)) {
    this.word = tuple.getString(1);
  } else {
    intSet.add(tuple.getInteger(1));
  }
}

代码示例来源:origin: alibaba/jstorm

public void execute(Tuple input) {
  String component = input.getSourceComponent();
  Map<String, List<FixedTuple>> captured = emitted_tuples.get(_name);
  if (!captured.containsKey(component)) {
    captured.put(component, new ArrayList<FixedTuple>());
  }
  captured.get(component).add(new FixedTuple(input.getSourceStreamId(), input.getValues()));
  _collector.ack(input);
}

代码示例来源:origin: alibaba/mdrill

public void execute(Tuple input) {
  String component = input.getSourceComponent();
  Map<String, List<FixedTuple>> captured = emitted_tuples.get(_name);
  if(!captured.containsKey(component)) {
    captured.put(component, new ArrayList<FixedTuple>());
  }
  captured.get(component).add(new FixedTuple(input.getSourceStreamId(), input.getValues()));
  _collector.ack(input);
}

代码示例来源:origin: alibaba/mdrill

/**
 * Gets the names of the fields in this tuple.
 */
public Fields getFields() {
  return context.getComponentOutputFields(getSourceComponent(), getSourceStreamId());
}

代码示例来源:origin: alibaba/jstorm

public void execute(Tuple tuple) {
  Object requestId = tuple.getValue(0);
  if (tuple.getSourceComponent().equals(returnComponent)) {
    returns.put(requestId, tuple);
  } else {
    results.put(requestId, tuple);
  }
  if (returns.containsKey(requestId) && results.containsKey(requestId)) {
    Tuple result = results.remove(requestId);
    Tuple returner = returns.remove(requestId);
    LOG.debug(result.getValue(1).toString());
    List<Tuple> anchors = new ArrayList<>();
    anchors.add(result);
    anchors.add(returner);
    _collector.emit(anchors, new Values("" + result.getValue(1), returner.getValue(1)));
    _collector.ack(result);
    _collector.ack(returner);
  }
}

代码示例来源:origin: alibaba/jstorm

@Override
public void ack(Tuple input) {
  if (input.getMessageId() != null) {
    if (!sendAckTuple(input)) {
      pendingAckQueue.add(input);
    }
  }
  Long latencyStart = (Long) tupleStartTimes.remove(input);
  taskStats.bolt_acked_tuple(input.getSourceComponent(), input.getSourceStreamId());
  if (latencyStart != null && JStormMetrics.enabled) {
    long endTime = System.currentTimeMillis();
    taskStats.update_bolt_acked_latency(input.getSourceComponent(), input.getSourceStreamId(), latencyStart, endTime);
  }
}

代码示例来源:origin: alibaba/jstorm

@Override
public void execute(Tuple tuple) {
  List<Object> id = tuple.select(_idFields);
  GlobalStreamId streamId = new GlobalStreamId(tuple.getSourceComponent(), tuple.getSourceStreamId());
  if (!_pending.containsKey(id)) {
    _pending.put(id, new HashMap<GlobalStreamId, Tuple>());
  }
  Map<GlobalStreamId, Tuple> parts = _pending.get(id);
  if (parts.containsKey(streamId))
    throw new RuntimeException("Received same side of single join twice");
  parts.put(streamId, tuple);
  if (parts.size() == _numSources) {
    _pending.remove(id);
    List<Object> joinResult = new ArrayList<Object>();
    for (String outField : _outFields) {
      GlobalStreamId loc = _fieldLocations.get(outField);
      joinResult.add(parts.get(loc).getValueByField(outField));
    }
    _collector.emit(new ArrayList<Tuple>(parts.values()), joinResult);
    
    for (Tuple part : parts.values()) {
      _collector.ack(part);
    }
  }
}

代码示例来源:origin: alibaba/mdrill

public void execute(Tuple tuple) {
  Object requestId = tuple.getValue(0);
  if(tuple.getSourceComponent().equals(returnComponent)) {
    returns.put(requestId, tuple);
  } else {
    results.put(requestId, tuple);
  }
  if(returns.containsKey(requestId) && results.containsKey(requestId)) {
    Tuple result = results.remove(requestId);
    Tuple returner = returns.remove(requestId);
    LOG.debug(result.getValue(1).toString());
    List<Tuple> anchors = new ArrayList<Tuple>();
    anchors.add(result);
    anchors.add(returner);            
    _collector.emit(anchors, new Values(""+result.getValue(1), returner.getValue(1)));
    _collector.ack(result);
    _collector.ack(returner);
  }
}

代码示例来源:origin: alibaba/jstorm

@Override
public void ack(Tuple input) {
  if (input.getMessageId() != null) {
    Long ack_val = 0L;
    Object pend_val = pendingAcks.remove(input);
    if (pend_val != null) {
      ack_val = (Long) (pend_val);
    }
    for (Entry<Long, Long> e : input.getMessageId().getAnchorsToIds().entrySet()) {
      unanchoredSend(topologyContext, sendTargets, taskTransfer, Acker.ACKER_ACK_STREAM_ID,
          JStormUtils.mk_list((Object) e.getKey(), JStormUtils.bit_xor(e.getValue(), ack_val)));
    }
  }
  Long latencyStart = (Long) tupleStartTimes.remove(input);
  taskStats.bolt_acked_tuple(input.getSourceComponent(), input.getSourceStreamId());
  if (latencyStart != null && JStormMetrics.enabled) {
    long endTime = System.currentTimeMillis();
    taskStats.update_bolt_acked_latency(input.getSourceComponent(), input.getSourceStreamId(),
        latencyStart, endTime);
  }
}

代码示例来源:origin: alibaba/jstorm

@Override
public void fail(Tuple input) {
  // if ackerNum == 0, we can just return
  if (input.getMessageId() != null) {
    pendingAcks.remove(input);
    for (Map.Entry<Long, Long> e : input.getMessageId().getAnchorsToIds().entrySet()) {
      List<Object> ackTuple = JStormUtils.mk_list((Object) e.getKey());
      sendBoltMsg(Acker.ACKER_FAIL_STREAM_ID, null, ackTuple, null, null);
    }
  }
  taskStats.bolt_failed_tuple(input.getSourceComponent(), input.getSourceStreamId());
}

代码示例来源:origin: alibaba/mdrill

public byte[] serialize(Tuple tuple) {
  try {
    _outputter.reset();
    WritableUtils.writeVInt(_dataOutputter, tuple.getSourceTask());
    WritableUtils.writeVInt(_dataOutputter, _ids.getStreamId(tuple.getSourceComponent(), tuple.getSourceStreamId()));
    tuple.getMessageId().serialize(_dataOutputter);
    _kryo.serializeInto(tuple.getValues(), _outputter);
    return _outputter.toByteArray();
  } catch (IOException e) {
    throw new RuntimeException(e);
  }
}

代码示例来源:origin: alibaba/jstorm

@Override
public void fail(Tuple input) {
  // if ackerNum == 0, we can just return
  if (input.getMessageId() != null) {
    pendingAcks.remove(input);
    for (Entry<Long, Long> e : input.getMessageId().getAnchorsToIds().entrySet()) {
      unanchoredSend(topologyContext, sendTargets, taskTransfer, Acker.ACKER_FAIL_STREAM_ID,
          JStormUtils.mk_list((Object) e.getKey()));
    }
  }
  tupleStartTimes.remove(input);
  taskStats.bolt_failed_tuple(input.getSourceComponent(), input.getSourceStreamId());
}

代码示例来源:origin: alibaba/mdrill

@Override
public void fail(Tuple input) {
pending_acks.remove(input);
for (Entry<Long, Long> e : input.getMessageId().getAnchorsToIds().entrySet()) {
  UnanchoredSend.send(topologyContext, sendTargets,
    workerTransfer, Acker.ACKER_FAIL_STREAM_ID,
    StormUtils.mk_list((Object) e.getKey()));
}
  Long delta = TasksCommon.tuple_time_delta(tuple_start_times,input);
  if (delta != null) {
  Stats.bolt_failed_tuple((BoltTaskStatsRolling) task_stats,
    input.getSourceComponent(), input.getSourceStreamId(),
    delta);
  }
}

代码示例来源:origin: alibaba/mdrill

@Override
public void ack(Tuple input) {
Object ack_val = pending_acks.remove(input);
if (ack_val == null) {
  ack_val = 0l;
}
for (Entry<Long, Long> e : input.getMessageId().getAnchorsToIds().entrySet()) {
  UnanchoredSend.send(
    topologyContext,
    sendTargets,
    workerTransfer,
    Acker.ACKER_ACK_STREAM_ID,
    StormUtils.mk_list((Object)e.getKey(),StormUtils.bit_xor(e.getValue(), ack_val)));
  }
    Long delta = TasksCommon.tuple_time_delta(tuple_start_times, input);
    if (delta != null) {
      Stats.bolt_acked_tuple((BoltTaskStatsRolling) task_stats,
        input.getSourceComponent(), input.getSourceStreamId(),
        delta);
    }
}

代码示例来源:origin: alibaba/mdrill

public IPersistentMap meta() {
  if(_meta==null) {
    _meta = new PersistentArrayMap( new Object[] {
    makeKeyword("stream"), getSourceStreamId(), 
    makeKeyword("component"), getSourceComponent(), 
    makeKeyword("task"), getSourceTask()});
  }
  return _meta;
}

代码示例来源:origin: alibaba/jstorm

private BoltMsg createBoltMessage(Tuple input, String genId) {
  BoltMsg boltMsg = new BoltMsg();
  boltMsg.setId(genId);
  boltMsg.setComp(input.getSourceComponent());
  boltMsg.setStream(input.getSourceStreamId());
  boltMsg.setTask(input.getSourceTask());
  boltMsg.setTuple(input.getValues());
  return boltMsg;
}

相关文章