ksqlDBでUNION (ALL) したかった
#kafka #ksqldb #2021-advent-calendar
ksqlDBで複数のトピックのデータをUNIONしたかったのだが、現時点ではUNIONのシンタックスがサポートされていなかった。
UNION ALL同等の事であれば、以下のように INSERT INO で複数ストリームからのデータを一つのトピックに集約させることになる。
code: 複数のトピックのデータをまとめたい
INSERT INTO aggregation-topic SELECT * FROM topic-a;
INSERT INTO aggregation-topic SELECT * FROM topic-b;
もちろんこの二つのストリームは別々に動くため、ソースとなるトピック間をまたいだ順序の保証はできない。
またTableに対してのInsertはサポートされていないため、上記と同様にまずはストリームに集約した後にその集約先のトピックをもとにテーブルを作成する必要がありそう。