Search in sources :

Example 91 with Fields

use of org.apache.storm.tuple.Fields in project metron by apache.

the class JoinBolt method declareOutputFields.

@Override
public void declareOutputFields(OutputFieldsDeclarer declarer) {
    declarer.declareStream("message", new Fields("key", "message"));
    declarer.declareStream("error", new Fields("message"));
}
Also used : Fields(org.apache.storm.tuple.Fields)

Example 92 with Fields

use of org.apache.storm.tuple.Fields in project metron by apache.

the class SplitBolt method declareOutputFields.

@Override
public final void declareOutputFields(OutputFieldsDeclarer declarer) {
    declarer.declareStream("message", new Fields("key", "message", "subgroup"));
    for (String streamId : getStreamIds()) {
        declarer.declareStream(streamId, new Fields("key", "message"));
    }
    declarer.declareStream("error", new Fields("message"));
    declareOther(declarer);
}
Also used : Fields(org.apache.storm.tuple.Fields)

Example 93 with Fields

use of org.apache.storm.tuple.Fields in project metron by apache.

the class ParserBolt method getMetadata.

private Map<String, Object> getMetadata(Tuple t, boolean readMetadata) {
    Map<String, Object> ret = new HashMap<>();
    if (!readMetadata) {
        return ret;
    }
    Fields tupleFields = t.getFields();
    for (int i = 2; i < tupleFields.size(); ++i) {
        String envMetadataFieldName = tupleFields.get(i);
        Object envMetadataFieldValue = t.getValue(i);
        if (!StringUtils.isEmpty(envMetadataFieldName) && envMetadataFieldValue != null) {
            ret.put(METADATA_PREFIX + envMetadataFieldName, envMetadataFieldValue);
        }
    }
    byte[] keyObj = t.getBinary(KEY_INDEX);
    String keyStr = null;
    try {
        keyStr = keyObj == null ? null : new String(keyObj);
        if (!StringUtils.isEmpty(keyStr)) {
            Map<String, Object> metadata = JSONUtils.INSTANCE.load(keyStr, JSONUtils.MAP_SUPPLIER);
            for (Map.Entry<String, Object> kv : metadata.entrySet()) {
                ret.put(METADATA_PREFIX + kv.getKey(), kv.getValue());
            }
        }
    } catch (IOException e) {
        String reason = "Unable to parse metadata; expected JSON Map: " + (keyStr == null ? "NON-STRING!" : keyStr);
        LOG.error(reason, e);
        throw new IllegalStateException(reason, e);
    }
    return ret;
}
Also used : Fields(org.apache.storm.tuple.Fields) HashMap(java.util.HashMap) JSONObject(org.json.simple.JSONObject) IOException(java.io.IOException) HashMap(java.util.HashMap) Map(java.util.Map)

Example 94 with Fields

use of org.apache.storm.tuple.Fields in project storm by apache.

the class MasterBatchCoordinator method declareOutputFields.

@Override
public void declareOutputFields(OutputFieldsDeclarer declarer) {
    // in partitioned example, in case an emitter task receives a later transaction than it's emitted so far,
    // when it sees the earlier txid it should know to emit nothing
    declarer.declareStream(BATCH_STREAM_ID, new Fields("tx"));
    declarer.declareStream(COMMIT_STREAM_ID, new Fields("tx"));
    declarer.declareStream(SUCCESS_STREAM_ID, new Fields("tx"));
}
Also used : Fields(org.apache.storm.tuple.Fields)

Example 95 with Fields

use of org.apache.storm.tuple.Fields in project storm by apache.

the class PreservingFieldsOrderJoinerMultiReducer method buildValuesForStream.

private List<Object> buildValuesForStream(JoinState state, int overrideIndex, TridentTuple overrideTuple, List<List>[] sides, int[] indices, List[] combined, int streamIdx) {
    List sideValues;
    if (streamIdx == overrideIndex) {
        sideValues = overrideTuple;
    } else {
        sideValues = sides[streamIdx].get(indices[streamIdx]);
    }
    Fields originFields = _originFields.get(streamIdx);
    if (sideValues == null) {
        return makeNullList(originFields.size());
    } else {
        List<Object> ret = new ArrayList<>(originFields.size());
        Fields sideFields = _sideFields.get(streamIdx);
        Fields joinFields = _joiningFields.get(streamIdx);
        int sideIdx = 0;
        for (String field : originFields) {
            // assuming _sideFields are preserving its order
            if (sideFields.contains(field)) {
                ret.add(sideValues.get(sideIdx++));
            } else {
                // group field
                ret.add(state.group.get(joinFields.fieldIndex(field)));
            }
        }
        return ret;
    }
}
Also used : Fields(org.apache.storm.tuple.Fields) ArrayList(java.util.ArrayList) List(java.util.List) ComboList(org.apache.storm.trident.tuple.ComboList) ArrayList(java.util.ArrayList)

Aggregations

Fields (org.apache.storm.tuple.Fields)176 Test (org.junit.Test)44 Values (org.apache.storm.tuple.Values)38 TopologyBuilder (org.apache.storm.topology.TopologyBuilder)36 HashMap (java.util.HashMap)32 TridentTopology (org.apache.storm.trident.TridentTopology)32 Config (org.apache.storm.Config)31 Stream (org.apache.storm.trident.Stream)25 LocalCluster (org.apache.storm.LocalCluster)19 LocalTopology (org.apache.storm.LocalCluster.LocalTopology)17 TridentState (org.apache.storm.trident.TridentState)17 FixedBatchSpout (org.apache.storm.trident.testing.FixedBatchSpout)16 Map (java.util.Map)15 ArrayList (java.util.ArrayList)14 HiveOptions (org.apache.storm.hive.common.HiveOptions)14 AbstractTest (org.apache.flink.storm.util.AbstractTest)13 DelimitedRecordHiveMapper (org.apache.storm.hive.bolt.mapper.DelimitedRecordHiveMapper)12 IRichBolt (org.apache.storm.topology.IRichBolt)12 StateFactory (org.apache.storm.trident.state.StateFactory)12 Tuple (org.apache.storm.tuple.Tuple)12