flink.api.table.tableexception:不支持类型

yeotifhr  于 2021-06-25  发布在  Flink
关注(0)|答案(1)|浏览(398)

我´我试图在scala中使用flink表api。编译时间没有错误,但是当我´我在flink群集中运行作业: flink.api.table.TableException: Type is not supported:<GenericType<java.lang.Object> 我的maven依赖项:

<dependency>
    <groupId>org.apache.flink</groupId>
    <artifactId>flink-scala_2.11</artifactId>
    <version>${flink.version}</version>
</dependency>
<dependency>
    <groupId>org.apache.flink</groupId>
    <artifactId>flink-streaming-scala_2.11</artifactId>
    <version>${flink.version}</version>
</dependency>
<dependency>
    <groupId>org.apache.flink</groupId>
    <artifactId>flink-table_2.11</artifactId>
    <version>1.1-SNAPSHOT</version>
</dependency>

我的导入:

import org.apache.flink.streaming.api.scala._
import org.apache.flink.api.scala.table._
import org.apache.flink.api.table.{Row, Table, TableEnvironment}

我的代码:

// odo[(Long,String,Double,Long)]
val inputTable = odo.toTable(tableEnv,'ts,'ty, 'vl, 'dv)
val resultStream: Table = inputTable.where('ty === "Odometer").select('dv)
resultStream.toDataStream[Row].print

更新:我想可能是关于flink版本(1.0.3),因为当我这样做的时候:

val inputTable = odo.toTable(tableEnv, 'ts, 'ty, 'vl, 'dv)
val result = inputTable.select('dv,'vl.sum).where('dv == 111)
result.toDataStream[Row].print()

我还有一个例外: org.apache.flink.api.table.TableException: Aggregate on stream tables is currently not supported. 感谢您的帮助。谢谢您。

vh0rcniy

vh0rcniy1#

flink的表api不支持包含 GenericType1.1-SNAPSHOT . 有一个pull请求实现了这个特性。它很可能包含在Flink1.1版本中。
关于你的第二个例外:这个例外基本上是自我解释的。到目前为止,您还不能对流进行聚合。但是,streamsql正在开发中。

相关问题