/** * Get values for fields in the same order they're specified in schema, including timestamp, * payload, and attributes. */ private List<Object> getFieldValues(ProcessContext context) { return messageSchema() .getFields() .stream() .map(field -> getValueForField(field, context.timestamp(), context.element())) .collect(toList()); }
@ProcessElement public void verifyTimestampsEqualValue(ProcessContext context) { assertThat( new Instant(context.element().getValue().longValue()), equalTo(context.timestamp())); } }));
@ProcessElement public void verifyTimestampsEqualValue(ProcessContext context) { assertThat( new Instant(context.element().getValue().longValue()), equalTo(context.timestamp())); } }));
@ProcessElement public void processElement(ProcessContext c) { RouteInfo routeInfo = c.element().getValue(); TableRow row = new TableRow() .set("avg_speed", routeInfo.getAvgSpeed()) .set("slowdown_event", routeInfo.getSlowdownEvent()) .set("route", c.element().getKey()) .set("window_timestamp", c.timestamp().toString()); c.output(row); }
@ProcessElement public void processElement(ProcessContext ctx) { shardId = (shardId + 1) % numShards; // round-robin among shards. ctx.output(KV.of(shardId, TimestampedValue.of(ctx.element(), ctx.timestamp()))); } }
@ProcessElement public void processElement(ProcessContext c, BoundedWindow window) { LOG.debug( "*** ELEMENT: ({},{}) *** with timestamp %s in window %s", c.element().getKey(), c.element().getValue(), c.timestamp().toString(), window.toString()); } }));
@ProcessElement public void verifyTimestampsEqualValue(ProcessContext context) { assertThat( new Instant(context.element().getValue().longValue()), equalTo(context.timestamp())); } }));
@ProcessElement public void verifyTimestampsEqualValue(ProcessContext context) { assertThat( new Instant(context.element().getValue().longValue()), equalTo(context.timestamp())); } }));
@ProcessElement public void processElement(ProcessContext c) throws Exception { c.output(KV.of(c.element(), c.timestamp())); } }));
@ProcessElement public void processElement(ProcessContext c) { c.output(c.element() + ":" + c.timestamp().getMillis()); } }
@ProcessElement public void processElement(ProcessContext ctx) { shardId = (shardId + 1) % numShards; // round-robin among shards. ctx.output(KV.of(shardId, TimestampedValue.of(ctx.element(), ctx.timestamp()))); } }
@ProcessElement public void processElement(ProcessContext c) throws Exception { c.output(c.element() - c.timestamp().getMillis()); } }
@ProcessElement public void processElement(ProcessContext c) throws Exception { c.output(c.element() - c.timestamp().getMillis()); } }
@ProcessElement public void processElement(ProcessContext c) throws Exception { c.output(c.element() - c.timestamp().getMillis()); } }
@ProcessElement public void processElement(ProcessContext c) throws Exception { c.output( IsmRecord.of( ImmutableList.of(GlobalWindow.INSTANCE, indexInBundle), WindowedValue.of(c.element(), c.timestamp(), GlobalWindow.INSTANCE, c.pane()))); indexInBundle += 1; } }
@ProcessElement public void reifyTimestamp(ProcessContext context) { context.output( KV.of( context.element().getKey(), TimestampedValue.of( context.element().getValue(), context.timestamp()))); } }));
@ProcessElement public void processElement(DoFn<String, KV<String, Instant>>.ProcessContext c) throws Exception { c.output(KV.of(c.element(), c.timestamp())); } }));
@ProcessElement public void processElement(ProcessContext context, @TimerId(timerId) Timer timer) { // This aligned time will exceed the END_OF_GLOBAL_WINDOW timer.align(Duration.standardDays(1)).setRelative(); context.output(KV.of(3, context.timestamp())); }
@ProcessElement public void processElement(ProcessContext c, BoundedWindow window) { c.output( c.element().getKey() + ":" + c.element().getValue() + ":" + c.timestamp().getMillis() + ":" + window); } }