除了增加分区之外,如何在KSQL中加入不相等数量的分区保存流?
示例Stream-1具有3个分区,Stream-2具有2个分区。在这种情况下,我们当然可以将Stream-1的分区数增加为3 join。但是我想知道,还有其他方法可以通过KSQL加入不相等的分区流吗?
答案 0 :(得分:1)
不,不幸的是,KStream / KSQL不支持不平等分区主题的联接。
先决条件是两个主题在调用加入操作之前必须具有相同数量的分区,否则将失败。
您可以在此处阅读有关共分区要求的更多信息: https://docs.confluent.io/current/ksql/docs/developer-guide/partition-data.html#partition-data-to-enable-joins
为确保共分区,可以使用PARTITION_BY子句创建新的流:
CREATE STREAM topic_rekeyed WITH (PARTITIONS=6) AS SELECT * FROM topic PARTITION BY topic_key;