我正在尝试使用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]
我们非常感谢任何正确方向的帮助。谢谢。
答案 0 :(得分:3)
Apache Flink的Table API连接是一个内部等连接,需要至少一个等式谓词。
没有谓词的联接是交叉产品。 Flink的Table API不提供跨产品的运营商,因为交叉产品的计算成本非常高。
使用Flink的DataSet API,可以使用交叉运算符或带有广播集的地图函数计算交叉乘积。