Ошибка компилятора при регистрации функции TemporalTableFunction как функции - PullRequest
0 голосов
/ 06 февраля 2019

Я следую примеру Флинка Определение функции временной таблицы , и компилятор отказывается принимать этот код:

TemporalTableFunction rates = 
    ratesHistory.createTemporalTableFunction("r_proctime", "r_currency");
tEnv.registerFunction("Rates", rates);  

Мой компилятор говорит мне "Метод registerFunction (String, ScalarFunction")) в типе TableEnvironment не применяется для аргументов (String, TemporalTableFunction) "

Я искал исходный код здесь и здесь , и действительно, регистр не имеет функцииподпись TemporalTableFunction.Только тип ScalarFunction.Я озадачен тем, почему это скомпилируется;но у них есть тест .

Я просто не могу определить, откуда TemporalJoinITCase получает свою функцию registerFunction.

Flink 1.7.1 со scala 2.11,и следующие артефакты: flink-core, flink-java, flink-clients_, flink-streaming-java_, flink-table_, flink-streaming-scala_, flink-json, flink-runtime-web _.

Iплохо знаю, как работает Scala;это может быть какая-то черта, которую я пропускаю из другого артефакта?

С наилучшими пожеланиями!

1 Ответ

0 голосов
/ 07 февраля 2019

Понял:

Мне нужно было импортировать StreamTableEnvironment из определенного пакета: org.apache.flink.table.api.java.StreamTableEnvironment.Мое автозаполнение не было должным образом обновлено вовремя, что заставило меня думать, что не было никакого надлежащего метода.Но это там.

...