java编译器将temporaltablefunction注册为函数时出错

q5iwbnjs  于 2021-06-21  发布在  Flink
关注(0)|答案(1)|浏览(365)

下面是flink的定义时态表函数示例,编译器拒绝接受该代码:

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

我的编译器告诉我“类型tableenvironment中的方法registerfunction(string,scalarfunction)不适用于参数(string,temporaltablefunction)”
我到处搜索源代码,实际上没有一个registerfunction具有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。
我不太清楚scala是如何工作的;这可能是我从另一个神器中丢失的特征吗?
敬礼!

c2e8gylq

c2e8gylq1#

我想出来了:
我需要从一个特定的包导入streamtableenvironment:org.apache.flink.table.api.java.streamtableenvironment。我的自动补全没有及时更新,这让我觉得没有合适的方法。但它就在那里。

相关问题