public static ValuePointer[] buildIndex(Fields fieldsOrder, Map<String, ValuePointer> pointers) { if(fieldsOrder.size()!=pointers.size()) { throw new IllegalArgumentException("Fields order must be same length as pointers map"); } ValuePointer[] ret = new ValuePointer[pointers.size()]; for(int i=0; i<fieldsOrder.size(); i++) { ret[i] = pointers.get(fieldsOrder.get(i)); } return ret; }
public FreshOutputFactory(Fields selfFields) { _fieldIndex = new HashMap<>(); for(int i=0; i<selfFields.size(); i++) { String field = selfFields.get(i); _fieldIndex.put(field, new ValuePointer(0, i, field)); } _index = ValuePointer.buildIndex(selfFields, _fieldIndex); }
private IKvState<K, V> getSpecifiedKeyRangeState(Tuple input, Fields fields) { Object key = null; if (fields.size() == 1) { key = input.getValueByField(fields.get(0)); } else { List<Object> fieldedValuesTobeHash = Lists.newArrayList(); for (String field : fields) { fieldedValuesTobeHash.add(input.getValueByField(field)); } key = fieldedValuesTobeHash; } return keyRangeState.getRangeStateByKey(key); } }
public OperationOutputFactory(Factory parent, Fields selfFields) { _parent = parent; _fieldIndex = new HashMap<>(parent.getFieldIndex()); int myIndex = parent.numDelegates(); for(int i=0; i<selfFields.size(); i++) { String field = selfFields.get(i); _fieldIndex.put(field, new ValuePointer(myIndex, i, field)); } List<String> myOrder = new ArrayList<>(parent.getOutputFields()); Set<String> parentFieldsSet = new HashSet<>(myOrder); for(String f: selfFields) { if(parentFieldsSet.contains(f)) { throw new IllegalArgumentException( "Additive operations cannot add fields with same name as already exists. " + "Tried adding " + selfFields + " to " + parent.getOutputFields()); } myOrder.add(f); } _index = ValuePointer.buildIndex(new Fields(myOrder), _fieldIndex); }
public static ValuePointer[] buildIndex(Fields fieldsOrder, Map<String, ValuePointer> pointers) { if(fieldsOrder.size()!=pointers.size()) { throw new IllegalArgumentException("Fields order must be same length as pointers map"); } ValuePointer[] ret = new ValuePointer[pointers.size()]; for(int i=0; i<fieldsOrder.size(); i++) { ret[i] = pointers.get(fieldsOrder.get(i)); } return ret; }
@Override public byte[] format(TridentTuple tuple) { StringBuilder sb = new StringBuilder(); int size = this.fields.size(); for(int i = 0; i < size; i++){ sb.append(tuple.getValueByField(fields.get(i))); if(i != size - 1){ sb.append(this.fieldDelimiter); } } sb.append(this.recordDelimiter); return sb.toString().getBytes(); } }
private List<Object> toTuple(EventBean event, Fields fields) { int numFields = fields.size(); List<Object> tuple = new ArrayList<Object>(numFields); for (int idx = 0; idx < numFields; idx++) { tuple.add(event.get(fields.get(idx))); } return tuple; }
public static ValuePointer[] buildIndex(Fields fieldsOrder, Map<String, ValuePointer> pointers) { if(fieldsOrder.size()!=pointers.size()) { throw new IllegalArgumentException("Fields order must be same length as pointers map"); } ValuePointer[] ret = new ValuePointer[pointers.size()]; List<String> flist = fieldsOrder.toList(); for(int i=0; i<fieldsOrder.size(); i++) { ret[i] = pointers.get(fieldsOrder.get(i)); } return ret; }
public FreshOutputFactory(Fields selfFields) { _fieldIndex = new HashMap<>(); for(int i=0; i<selfFields.size(); i++) { String field = selfFields.get(i); _fieldIndex.put(field, new ValuePointer(0, i, field)); } _index = ValuePointer.buildIndex(selfFields, _fieldIndex); }
@Override public byte[] format(Tuple tuple) { StringBuilder sb = new StringBuilder(); Fields fields = this.fields == null ? tuple.getFields() : this.fields; int size = fields.size(); for(int i = 0; i < size; i++){ sb.append(tuple.getValueByField(fields.get(i))); if(i != size - 1){ sb.append(this.fieldDelimiter); } } sb.append(this.recordDelimiter); return sb.toString().getBytes(); } }
public FreshOutputFactory(Fields selfFields) { _fieldIndex = new HashMap<String, ValuePointer>(); for(int i=0; i<selfFields.size(); i++) { String field = selfFields.get(i); _fieldIndex.put(field, new ValuePointer(0, i, field)); } _index = ValuePointer.buildIndex(selfFields, _fieldIndex); }
/** * Write each value in the tuple as a key:value pair * in the Cassandra row, excluding fields that were included in the row. * * @param tuple * @return map of columns to values */ @Override public Map<String, String> mapToColumns(Tuple tuple) { Fields fields = tuple.getFields(); Map<String, String> columns = new HashMap<String, String>(); for (int i = 0; i < fields.size(); i++) { String name = fields.get(i); Boolean isRowField = Arrays.asList(this.rowKeyFields).contains(name); if (!isRowField) { Object value = tuple.getValueByField(name); columns.put(name, (value != null ? value.toString() : "")); } } return columns; }
/** * Default behavior is to write each value in the tuple as a key:value pair * in the Cassandra row. * * @param tuple * @return */ @Override public Map<String, String> mapToColumns(Tuple tuple) { Fields fields = tuple.getFields(); Map<String, String> columns = new HashMap<String, String>(); for (int i = 0; i < fields.size(); i++) { String name = fields.get(i); Object value = tuple.getValueByField(name); columns.put(name, (value != null ? value.toString() : "")); } return columns; }
@Override public void execute(Tuple input) { final Object[] values = new Object[this.fields.size()]; count++; for (int i = 0; i < values.length; i++) { values[i] = input.getValueByField(this.fields.get(i)).toString(); } collector.emit(input, new Values(values)); collector.ack(input); System.out.println(String.format("Seen: %s", count)); }
@Override public void execute(Tuple input) { final Object[] values = new Object[this.fields.size()]; count++; for (int i = 0; i < values.length; i++) { values[i] = input.getValueByField(this.fields.get(i)).toString(); } collector.emit(input, new Values(values)); collector.ack(input); System.out.println(String.format("Seen: %s", count)); }
public OperationOutputFactory(Factory parent, Fields selfFields) { _parent = parent; _fieldIndex = new HashMap<>(parent.getFieldIndex()); int myIndex = parent.numDelegates(); for(int i=0; i<selfFields.size(); i++) { String field = selfFields.get(i); _fieldIndex.put(field, new ValuePointer(myIndex, i, field)); } List<String> myOrder = new ArrayList<>(parent.getOutputFields()); Set<String> parentFieldsSet = new HashSet<>(myOrder); for(String f: selfFields) { if(parentFieldsSet.contains(f)) { throw new IllegalArgumentException( "Additive operations cannot add fields with same name as already exists. " + "Tried adding " + selfFields + " to " + parent.getOutputFields()); } myOrder.add(f); } _index = ValuePointer.buildIndex(new Fields(myOrder), _fieldIndex); }
public OperationOutputFactory(Factory parent, Fields selfFields) { _parent = parent; _fieldIndex = new HashMap(parent.getFieldIndex()); int myIndex = parent.numDelegates(); for(int i=0; i<selfFields.size(); i++) { String field = selfFields.get(i); _fieldIndex.put(field, new ValuePointer(myIndex, i, field)); } List<String> myOrder = new ArrayList<String>(parent.getOutputFields()); Set<String> parentFieldsSet = new HashSet<String>(myOrder); for(String f: selfFields) { if(parentFieldsSet.contains(f)) { throw new IllegalArgumentException( "Additive operations cannot add fields with same name as already exists. " + "Tried adding " + selfFields + " to " + parent.getOutputFields()); } myOrder.add(f); } _index = ValuePointer.buildIndex(new Fields(myOrder), _fieldIndex); }
@Override public String format(Tuple tuple) { Fields schema = context.getComponentOutputFields(tuple.getSourceComponent(), tuple.getSourceStreamId()); String line = ""; for (int i=0; i<tuple.size(); i++) { if (i != 0) line += ", "; line += String.format("%s=%s", schema.get(i), tuple.getValue(i)); } return line; }
@Override public void execute(Tuple tuple) { String eventType = getEventTypeName(tuple.getSourceComponent(), tuple.getSourceStreamId()); Map<String, Object> data = new HashMap<String, Object>(); Fields fields = tuple.getFields(); int numFields = fields.size(); for (int idx = 0; idx < numFields; idx++) { String name = fields.get(idx); Object value = tuple.getValue(idx); data.put(name, value); } runtime.sendEvent(data, eventType); collector.ack(tuple); }
@Override public String format(Tuple tuple) { Fields schema = context.getComponentOutputFields(tuple.getSourceComponent(), tuple.getSourceStreamId()); String values = ""; for (int i=0; i<tuple.size(); i++) { if (i != 0) values += ", "; values += String.format("%s=%s", schema.get(i), tuple.getValue(i)); } return String.format(TEMPLATE, tuple.getSourceComponent(), tuple.getSourceTask(), tuple.getSourceStreamId(), tuple.getMessageId().toString(), values); }