cz.seznam.euphoria.core.client.dataset.windowing.WindowedElement.getElement()方法的使用及代码示例

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

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

WindowedElement.getElement介绍

暂无

代码示例

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

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

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

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

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

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

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

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

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

  1. @Override
  2. public Iterable<IntWindow> assignWindowsToElement(
  3. WindowedElement<?, Either<Integer, Long>> input) {
  4. int element;
  5. Either<Integer, Long> unwrapped = input.getElement();
  6. if (unwrapped.isLeft()) {
  7. element = unwrapped.left();
  8. } else {
  9. element = (int) (long) unwrapped.right();
  10. }
  11. final int label = element % 2 == 0 ? 0 : element;
  12. return Collections.singleton(new IntWindow(label));
  13. }

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

  1. @Override
  2. public Iterable<IntWindow> assignWindowsToElement(
  3. WindowedElement<?, Either<Integer, Long>> input) {
  4. int element;
  5. Either<Integer, Long> unwrapped = input.getElement();
  6. if (unwrapped.isLeft()) {
  7. element = unwrapped.left();
  8. } else {
  9. element = (int) (long) unwrapped.right();
  10. }
  11. final int label = element % 2 == 0 ? 0 : element;
  12. return Collections.singleton(new IntWindow(label));
  13. }

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

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

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

  1. @SuppressWarnings("unchecked")
  2. private void processInputNonMerging(WindowedElement element) {
  3. Object item = element.getElement();
  4. Object itemKey = keyExtractor.apply(item);
  5. Object itemValue = valueExtractor.apply(item);
  6. Iterable<Window> windows = windowing.assignWindowsToElement(element);
  7. for (Window window : windows) {
  8. ElementTriggerContext pitctx =
  9. new ElementTriggerContext(new KeyedWindow(window, itemKey));
  10. State windowState = processing.getWindowStateForUpdate(pitctx.getScope());
  11. windowState.add(itemValue);
  12. Trigger.TriggerResult result =
  13. trigger.onElement(getCurrentElementTime(), window, pitctx);
  14. // ~ handle trigger result
  15. handleTriggerResult(result, pitctx);
  16. }
  17. }

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

  1. @SuppressWarnings("unchecked")
  2. private void processInputNonMerging(WindowedElement element) {
  3. Object item = element.getElement();
  4. Object itemKey = keyExtractor.apply(item);
  5. Object itemValue = valueExtractor.apply(item);
  6. Iterable<Window> windows = windowing.assignWindowsToElement(element);
  7. for (Window window : windows) {
  8. ElementTriggerContext pitctx =
  9. new ElementTriggerContext(new KeyedWindow(window, itemKey));
  10. State windowState = processing.getWindowStateForUpdate(pitctx.getScope());
  11. windowState.add(itemValue);
  12. Trigger.TriggerResult result =
  13. trigger.onElement(getCurrentElementTime(), window, pitctx);
  14. // ~ handle trigger result
  15. handleTriggerResult(result, pitctx);
  16. }
  17. }

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

  1. @SuppressWarnings("unchecked")
  2. public void process(WindowedElement<WID, Pair<KEY, I>> elem) {
  3. // ~ make sure we have the key
  4. updateKey(elem);
  5. // ~ advance our clock
  6. clock.updateStamp(elem.getTimestamp(), this::onTimerCallback);
  7. // ~ get the target window
  8. WID window = elem.getWindow();
  9. // ~ merge the new window into existing ones if necessary
  10. if (windowing instanceof MergingWindowing) {
  11. window = mergeWindows(window);
  12. }
  13. // ~ add the value to the target window state
  14. {
  15. State state = getStateForUpdate(window);
  16. state.add(elem.getElement().getSecond());
  17. }
  18. // ~ process trigger#onElement
  19. {
  20. ElementTriggerContext trgCtx = new ElementTriggerContext(window);
  21. Trigger.TriggerResult windowTr =
  22. trigger.onElement(elem.getTimestamp(), window, trgCtx);
  23. processTriggerResult(window, trgCtx, windowTr);
  24. }
  25. }

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

  1. @SuppressWarnings("unchecked")
  2. public void process(WindowedElement<WID, Pair<KEY, I>> elem) {
  3. // ~ make sure we have the key
  4. updateKey(elem);
  5. // ~ advance our clock
  6. clock.updateStamp(elem.getTimestamp(), this::onTimerCallback);
  7. // ~ get the target window
  8. WID window = elem.getWindow();
  9. // ~ merge the new window into existing ones if necessary
  10. if (windowing instanceof MergingWindowing) {
  11. window = mergeWindows(window);
  12. }
  13. // ~ add the value to the target window state
  14. {
  15. State state = getStateForUpdate(window);
  16. state.add(elem.getElement().getSecond());
  17. }
  18. // ~ process trigger#onElement
  19. {
  20. ElementTriggerContext trgCtx = new ElementTriggerContext(window);
  21. Trigger.TriggerResult windowTr =
  22. trigger.onElement(elem.getTimestamp(), window, trgCtx);
  23. processTriggerResult(window, trgCtx, windowTr);
  24. }
  25. }

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

  1. assert windowing instanceof MergingWindowing;
  2. Object item = element.getElement();
  3. Object itemKey = keyExtractor.apply(item);
  4. Object itemValue = valueExtractor.apply(item);

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

  1. assert windowing instanceof MergingWindowing;
  2. Object item = element.getElement();
  3. Object itemKey = keyExtractor.apply(item);
  4. Object itemValue = valueExtractor.apply(item);

相关文章