本文整理了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
暂无
代码示例来源:origin: seznam/euphoria
@Override
public Iterable<IntWindow> assignWindowsToElement(WindowedElement<?, Integer> input) {
return Collections.singleton(new IntWindow(input.getElement() / 4));
}
代码示例来源:origin: seznam/euphoria
@Override
public Iterable<IntWindow> assignWindowsToElement(WindowedElement<?, Integer> input) {
return Collections.singleton(new IntWindow(input.getElement() / 4));
}
代码示例来源: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
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
@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<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<SizedCountWindow> assignWindowsToElement(WindowedElement<?, T> input) {
int sz = sizeFn.apply(input.getElement());
return Sets.newHashSet(new SizedCountWindow(sz), new SizedCountWindow(2 * sz));
}
代码示例来源:origin: seznam/euphoria
@SuppressWarnings("unchecked")
private void processInputNonMerging(WindowedElement element) {
Object item = element.getElement();
Object itemKey = keyExtractor.apply(item);
Object itemValue = valueExtractor.apply(item);
Iterable<Window> windows = windowing.assignWindowsToElement(element);
for (Window window : windows) {
ElementTriggerContext pitctx =
new ElementTriggerContext(new KeyedWindow(window, itemKey));
State windowState = processing.getWindowStateForUpdate(pitctx.getScope());
windowState.add(itemValue);
Trigger.TriggerResult result =
trigger.onElement(getCurrentElementTime(), window, pitctx);
// ~ handle trigger result
handleTriggerResult(result, pitctx);
}
}
代码示例来源:origin: seznam/euphoria
@SuppressWarnings("unchecked")
private void processInputNonMerging(WindowedElement element) {
Object item = element.getElement();
Object itemKey = keyExtractor.apply(item);
Object itemValue = valueExtractor.apply(item);
Iterable<Window> windows = windowing.assignWindowsToElement(element);
for (Window window : windows) {
ElementTriggerContext pitctx =
new ElementTriggerContext(new KeyedWindow(window, itemKey));
State windowState = processing.getWindowStateForUpdate(pitctx.getScope());
windowState.add(itemValue);
Trigger.TriggerResult result =
trigger.onElement(getCurrentElementTime(), window, pitctx);
// ~ handle trigger result
handleTriggerResult(result, pitctx);
}
}
代码示例来源: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
assert windowing instanceof MergingWindowing;
Object item = element.getElement();
Object itemKey = keyExtractor.apply(item);
Object itemValue = valueExtractor.apply(item);
代码示例来源:origin: seznam/euphoria
assert windowing instanceof MergingWindowing;
Object item = element.getElement();
Object itemKey = keyExtractor.apply(item);
Object itemValue = valueExtractor.apply(item);
内容来源于网络,如有侵权,请联系作者删除!