2

我正在尝试使用 flink scala table api 加入两个表。我有一个带有两个(a,b)列的表和另一个带有一个(c)列的表我想将这两个表连接到一个具有三个(a,b,c)列的更大的表中。我只是想加入他们我不想使用任何条件(Where 子句)加入他们。但是Flink给我一个使用Where子句的错误,这是一种在where子句中没有任何条件的加入表的方法吗?如果我想使用 where 子句,我应该给出什么条件?

下面是我加入两个表的命令

val table_join = table1.join(table2).select("a,b,c").toDataset[res]

对正确方向的任何帮助都将受到高度赞赏。谢谢你。

4

1 回答 1

3

Apache Flink 的 Table API 连接是一种内等连接,至少需要一个等式谓词。

没有谓词的连接是叉积。Flink 的 Table API 没有为叉积提供算子,因为叉积的计算成本 非常高。

使用 Flink 的 DataSet API,可以使用交叉运算符或带有广播集的映射函数计算交叉积。

于 2015-07-10T11:49:03.133 回答