0

我正在关注 Flink 的Defining Temporal Table Function示例,编译器拒绝采用该代码:

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

我的编译器告诉我“TableEnvironment 类型中的方法 registerFunction(String, ScalarFunction) 不适用于参数 (String, TemporalTableFunction)”

我已经在这里这里搜索了源代码,确实没有 registerFunction 具有 TemporalTableFunction 签名。只有 ScalarFunction 类型。我对它为什么会编译感到困惑;但他们确实对此进行了测试

我只是无法导航 TemporalJoinITCase 从何处获取其 registerFunction 。

带有 scala 2.11 的 Flink 1.7.1,以及以下工件:flink-core、flink-java、flink-clients_、flink-streaming-java_、flink-table_、flink-streaming-scala_、flink-json、flink-runtime-web_ .

我不太清楚 Scala 是如何工作的。会不会是我从另一个神器中遗漏的一些特征?

最良好的问候!

4

1 回答 1

1

弄清楚了:

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

于 2019-02-06T21:53:12.590 回答