@Override public void prepare(Map stormConf, TopologyContext context, OutputCollector collector) { createState(context); prepare(stormConf, context, collector, keyRangeState); Map<GlobalStreamId, Grouping> sources = context.getSources(context.getThisComponentId()); for (Map.Entry<GlobalStreamId, Grouping> entry : sources.entrySet()) { GlobalStreamId stream = entry.getKey(); Grouping grouping = entry.getValue(); Grouping._Fields groupingFields = Thrift.groupingType(grouping); if (Grouping._Fields.FIELDS.equals(groupingFields)) { Fields fields = new Fields(Thrift.fieldGrouping(grouping)); fieldGrouping.put(stream.get_streamId(), fields); } } LOG.info("Source fieldgrouping streams: {}", fieldGrouping); }
public static boolean isGlobalGrouping(Grouping grouping) { if (Grouping._Fields.FIELDS.equals(groupingType(grouping))) { return fieldGrouping(grouping).isEmpty(); } return false; }
public static List<String> fieldGrouping(Grouping grouping) { if (!Grouping._Fields.FIELDS.equals(groupingType(grouping))) { throw new IllegalArgumentException("Tried to get grouping fields from non fields grouping"); } return grouping.get_fields(); }
if (Grouping._Fields.FIELDS.equals(fields)) { } else if (Grouping._Fields.ALL.equals(fields)) { } else if (Grouping._Fields.SHUFFLE.equals(fields)) { grouperType = GrouperType.shuffle; shuffer = new MkShuffer(topology_context.getThisComponentId(), targetComponent, workerData); } else if (Grouping._Fields.NONE.equals(fields)) { } else if (Grouping._Fields.CUSTOM_OBJECT.equals(fields)) { custom_grouper = new MkCustomGrouper(topology_context, g, stream, out_tasks, myTaskId); grouperType = GrouperType.custom_obj; } else if (Grouping._Fields.CUSTOM_SERIALIZED.equals(fields)) { custom_grouper = new MkCustomGrouper(topology_context, g, stream, out_tasks, myTaskId); grouperType = GrouperType.custom_serialized; } else if (Grouping._Fields.DIRECT.equals(fields)) { } else if (Grouping._Fields.LOCAL_OR_SHUFFLE.equals(fields)) { grouperType = GrouperType.shuffle; shuffer = new MkShuffer(topology_context.getThisComponentId(), targetComponent, workerData); } else if (Grouping._Fields.LOCAL_FIRST.equals(fields)) { grouperType = GrouperType.shuffle; shuffer = new MkShuffer(topology_context.getThisComponentId(), targetComponent, workerData);
public static boolean isGlobalGrouping(Grouping grouping) { if (Grouping._Fields.FIELDS.equals(groupingType(grouping))) { return fieldGrouping(grouping).isEmpty(); } return false; }
public static List<String> fieldGrouping(Grouping grouping) { if (!Grouping._Fields.FIELDS.equals(groupingType(grouping))) { throw new IllegalArgumentException("Tried to get grouping fields from non fields grouping"); } return grouping.get_fields(); }
if (GroupingConstants.fields.equals(fields)) { } else if (GroupingConstants.all.equals(fields)) { } else if (GroupingConstants.shuffle.equals(fields)) { } else if (GroupingConstants.none.equals(fields)) { } else if (GroupingConstants.custom_object.equals(fields)) { custom_grouper = new MkCustomGrouper(g, out_fields, num_tasks); grouperType = GrouperType.custom_obj; } else if (GroupingConstants.custom_serialized.equals(fields)) { custom_grouper = new MkCustomGrouper(g, out_fields, num_tasks); grouperType = GrouperType.custom_serialized; } else if (GroupingConstants.direct.equals(fields)) {
private GrouperType parseGroupType(WorkerData workerData) { GrouperType grouperType = null; if (Grouping._Fields.FIELDS.equals(fields)) { if (Thrift.isGlobalGrouping(thriftGrouping)) { } else if (Grouping._Fields.ALL.equals(fields)) { } else if (Grouping._Fields.SHUFFLE.equals(fields)) { grouperType = GrouperType.shuffle; shuffer = new MkShuffer(topologyContext.getThisComponentId(), targetComponent, workerData); } else if (Grouping._Fields.NONE.equals(fields)) { } else if (Grouping._Fields.CUSTOM_OBJECT.equals(fields)) { customGrouper = new MkCustomGrouper(topologyContext, g, stream, outTasks, myTaskId); grouperType = GrouperType.custom_obj; } else if (Grouping._Fields.CUSTOM_SERIALIZED.equals(fields)) { customGrouper = new MkCustomGrouper(topologyContext, g, stream, outTasks, myTaskId); grouperType = GrouperType.custom_serialized; } else if (Grouping._Fields.DIRECT.equals(fields)) { } else if (Grouping._Fields.LOCAL_OR_SHUFFLE.equals(fields)) { grouperType = GrouperType.shuffle; shuffer = new MkShuffer(topologyContext.getThisComponentId(), targetComponent, workerData); } else if (Grouping._Fields.LOCAL_FIRST.equals(fields)) { grouperType = GrouperType.shuffle; shuffer = new MkShuffer(topologyContext.getThisComponentId(), targetComponent, workerData);
public static boolean isGlobalGrouping(Grouping grouping) { if (GroupingConstants.fields.equals(groupingType(grouping))) { return fieldGrouping(grouping).isEmpty(); } return false; }
public static List<String> fieldGrouping(Grouping grouping) { if (!GroupingConstants.fields.equals(groupingType(grouping))) { throw new IllegalArgumentException( "Tried to get grouping fields from non fields grouping"); } return grouping.get_fields(); }