Пожалуйста, не обращайте внимания на этот вопрос, очевидно, что функции временных таблиц могут принимать таблицы, которые (для меня) убираются.
Что-то с эффектом:
SELECT b, AVG(a) "average", MAX(proctime) max_proctime FROM source_data GROUP BY b
Может быть принято как временноеТаблица Функция с b в качестве ключа и max_proctime в качестве атрибута времени.Я полагаю, что MAX (proctime) как-то заставляет думать, что появляются новые строки, когда они только перезаписываются?Я думаю, что мне нужно больше времени, чтобы понять это.
РЕДАКТИРОВАТЬ:
Копаясь в исходном коде, мы обнаруживаем, что функции временной таблицы, кажется, принимают отводимые определения, но только если это время обработки:
Temporal ProcessTime JoinOperator.java :
@Override
public void processElement2(StreamRecord<BaseRow> element) throws Exception {
if (BaseRowUtil.isAccumulateMsg(element.getValue())) {
rightState.update(element.getValue());
registerProcessingCleanupTimer();
} else {
rightState.clear();
cleanupLastTimer();
}
}
Temporal RowTime JoinOperator.java :
@Override
public void processElement2(StreamRecord<BaseRow> element) throws Exception {
...
checkNotRetraction(row);
...
}
private void checkNotRetraction(BaseRow row) {
if (BaseRowUtil.isRetractMsg(row)) {
String className = getClass().getSimpleName();
throw new IllegalStateException(
"Retractions are not supported by " + className +
". If this can happen it should be validated during planning!");
}
}
Это без документов;Я не знаю, является ли это постоянным, и будет ли документация обновлена.