cz.seznam.euphoria.core.client.dataset.windowing.WindowedElement类的使用及代码示例

x33g5p2x  于2022-02-03 转载在 其他  
字(6.4k)|赞(0)|评价(0)|浏览(136)

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

WindowedElement介绍

[英]A single data element flowing in dataset. Every such element is associated with a window identifier and timestamp.
[中]在数据集中流动的单个数据元素。每个这样的元素都与一个窗口标识符和时间戳相关联。

代码示例

代码示例来源:origin: seznam/euphoria

@Override
public Iterable<IntWindow> assignWindowsToElement(WindowedElement<?, Integer> input) {
 return Collections.singleton(new IntWindow(input.getElement() / 4));
}

代码示例来源:origin: seznam/euphoria

@Override
@SuppressWarnings("unchecked")
public Iterable<W> assignWindowsToElement(WindowedElement<?, T> input) {
 return Collections.singleton((W) input.getWindow());
}

代码示例来源:origin: seznam/euphoria

@Override
public Iterable<TimeInterval> assignWindowsToElement(WindowedElement<?, T> el) {
 long stamp = el.getTimestamp();
 long start = stamp - (stamp + durationMillis) % durationMillis;
 long end = start + durationMillis;
 return singleton(new TimeInterval(start, end));
}

代码示例来源:origin: seznam/euphoria

@SuppressWarnings("unchecked")
public void process(WindowedElement<WID, Pair<KEY, I>> elem) {
 // ~ make sure we have the key
 updateKey(elem);
 // ~ advance our clock
 clock.updateStamp(elem.getTimestamp(), this::onTimerCallback);
 // ~ get the target window
 WID window = elem.getWindow();
 // ~ merge the new window into existing ones if necessary
 if (windowing instanceof MergingWindowing) {
  window = mergeWindows(window);
 }
 // ~ add the value to the target window state
 {
  State state = getStateForUpdate(window);
  state.add(elem.getElement().getSecond());
 }
 // ~ process trigger#onElement
 {
  ElementTriggerContext trgCtx = new ElementTriggerContext(window);
  Trigger.TriggerResult windowTr =
      trigger.onElement(elem.getTimestamp(), window, trgCtx);
  processTriggerResult(window, trgCtx, windowTr);
 }
}

代码示例来源:origin: seznam/euphoria

@SuppressWarnings("unchecked")
public void process(WindowedElement<WID, Pair<KEY, I>> elem) {
 // ~ make sure we have the key
 updateKey(elem);
 // ~ advance our clock
 clock.updateStamp(elem.getTimestamp(), this::onTimerCallback);
 // ~ get the target window
 WID window = elem.getWindow();
 // ~ merge the new window into existing ones if necessary
 if (windowing instanceof MergingWindowing) {
  window = mergeWindows(window);
 }
 // ~ add the value to the target window state
 {
  State state = getStateForUpdate(window);
  state.add(elem.getElement().getSecond());
 }
 // ~ process trigger#onElement
 {
  ElementTriggerContext trgCtx = new ElementTriggerContext(window);
  Trigger.TriggerResult windowTr =
      trigger.onElement(elem.getTimestamp(), window, trgCtx);
  processTriggerResult(window, trgCtx, windowTr);
 }
}

代码示例来源:origin: seznam/euphoria

@Override
public Iterable<IntWindow> assignWindowsToElement(WindowedElement<?, Integer> input) {
 return Collections.singleton(new IntWindow(input.getElement() / 4));
}

代码示例来源:origin: seznam/euphoria

@Override
@SuppressWarnings("unchecked")
public Iterable<W> assignWindowsToElement(WindowedElement<?, T> input) {
 return Collections.singleton((W) input.getWindow());
}

代码示例来源:origin: seznam/euphoria

@Override
public Iterable<TimeInterval> assignWindowsToElement(WindowedElement<?, T> el) {
 long stamp = el.getTimestamp();
 TimeInterval ret = new TimeInterval(stamp, stamp + gapDurationMillis);
 return Collections.singleton(ret);
}

代码示例来源:origin: seznam/euphoria

private void updateKey(WindowedElement<WID, Pair<KEY, I>> elem) {
 if (key == null) {
  key = elem.getElement().getFirst();
 } else {
  // ~ validate we really do process elements of a single key only
  Preconditions.checkState(key.equals(elem.getElement().getFirst()));
 }
}

代码示例来源:origin: seznam/euphoria

@SuppressWarnings("unchecked")
@Override
public Iterable<W> assignWindowsToElement(WindowedElement<?, T> input) {
 return Collections.singleton((W) input.getWindow());
}

代码示例来源:origin: seznam/euphoria

@Override
public Iterable<TimeInterval> assignWindowsToElement(WindowedElement<?, T> el) {
 long stamp = el.getTimestamp();
 TimeInterval ret = new TimeInterval(stamp, stamp + gapDurationMillis);
 return Collections.singleton(ret);
}

代码示例来源:origin: seznam/euphoria

private void updateKey(WindowedElement<WID, Pair<KEY, I>> elem) {
 if (key == null) {
  key = elem.getElement().getFirst();
 } else {
  // ~ validate we really do process elements of a single key only
  Preconditions.checkState(key.equals(elem.getElement().getFirst()));
 }
}

代码示例来源:origin: seznam/euphoria

@SuppressWarnings("unchecked")
@Override
public Iterable<W> assignWindowsToElement(WindowedElement<?, T> input) {
 return Collections.singleton((W) input.getWindow());
}

代码示例来源:origin: seznam/euphoria

@Override
public Iterable<TimeInterval> assignWindowsToElement(WindowedElement<?, T> el) {
 long stamp = el.getTimestamp();
 long start = stamp - (stamp + durationMillis) % durationMillis;
 long end = start + durationMillis;
 return singleton(new TimeInterval(start, end));
}

代码示例来源:origin: seznam/euphoria

@Override
public Iterable<IntWindow> assignWindowsToElement(
  WindowedElement<?, Either<Integer, Long>> input) {
 int element;
 Either<Integer, Long> unwrapped = input.getElement();
 if (unwrapped.isLeft()) {
  element = unwrapped.left();
 } else {
  element = (int) (long) unwrapped.right();
 }
 final int label = element % 2 == 0 ? 0 : element;
 return Collections.singleton(new IntWindow(label));
}

代码示例来源:origin: seznam/euphoria

@Override
@SuppressWarnings("unchecked")
public Iterable<WID> assignWindowsToElement(WindowedElement<?, T> el) {
 return Collections.singleton((WID) el.getWindow());
}

代码示例来源:origin: seznam/euphoria

@Override
public Iterable<TimeInterval> assignWindowsToElement(WindowedElement<?, T> el) {
 return new SlidingWindowSet(el.getTimestamp(), duration, slide);
}

代码示例来源:origin: seznam/euphoria

@Override
public Iterable<IntWindow> assignWindowsToElement(
  WindowedElement<?, Either<Integer, Long>> input) {
 int element;
 Either<Integer, Long> unwrapped = input.getElement();
 if (unwrapped.isLeft()) {
  element = unwrapped.left();
 } else {
  element = (int) (long) unwrapped.right();
 }
 final int label = element % 2 == 0 ? 0 : element;
 return Collections.singleton(new IntWindow(label));
}

代码示例来源:origin: seznam/euphoria

@Override
public Iterable<TimeInterval> assignWindowsToElement(WindowedElement<?, T> el) {
 return new SlidingWindowSet(el.getTimestamp(), duration, slide);
}

代码示例来源:origin: seznam/euphoria

@Override
public Iterable<SizedCountWindow> assignWindowsToElement(WindowedElement<?, T> input) {
 int sz = sizeFn.apply(input.getElement());
 return Sets.newHashSet(new SizedCountWindow(sz), new SizedCountWindow(2 * sz));
}

相关文章

微信公众号

最新文章

更多