Java 从Flink中的表对象中选择基于长度批次的平均值
我在Java 从Flink中的表对象中选择基于长度批次的平均值,java,apache-flink,flink-streaming,Java,Apache Flink,Flink Streaming,我在Apache-Flink中创建了一个BatchTableEnvironment,并将一些数据加载到名为HTable的表对象中。此数据中有ID、DateTime、Result、UnixDateTime列。这些是INT、Timestamp、Double、Long数据类型。现在我想创建另一个表,该表过滤HTable,根据最后100行的Result列创建翻滚平均值。因此,第1-100行、101-200行等的平均结果应基于行数或ID,而不是时间。问题是我不知道这个的确切语法。请参阅下面的代码
Apache-Flink
中创建了一个BatchTableEnvironment
,并将一些数据加载到名为HTable
的表
对象中。此数据中有ID、DateTime、Result、UnixDateTime
列。这些是INT、Timestamp、Double、Long
数据类型。现在我想创建另一个表,该表过滤HTable
,根据最后100行的Result
列创建翻滚平均值。因此,第1-100行、101-200行等的平均结果应基于行数或ID,而不是时间。问题是我不知道这个的确切语法。请参阅下面的代码
Table AverageTable = HTable
.filter("ID.isNotNull && dateTime.isNotNull && result.isNotNull && unixDateTime.isNotNull")
.select("ID, dateTime, result, unixDateTime")
.window(Tumble.over("100.rows").on("dateTime").as("movingAverage100"))
.groupBy("movingAverage100")
.select("avg(result) as avgResult");
HTable,是Hbase源文件吗?不是,源文件是CSV文件。我尝试此操作时,您可以尝试.window(翻滚10行)吗:
Table Table=HTable.window(翻滚2行)on(“dateTime”).as(“a”).groupBy(“mType”)代码>我得到以下错误:org.apache.flink.table.api.WindowGroupedTable无法转换为org.apache.flink.table.api.table
。当我删除GROUPBY子句时,我得到了相同的错误。