簡體   English   中英

我可以在KSQL中按兩列進行分區嗎

[英]Can I PARTITION BY two columns in KSQL

我有兩個主題用戶(包含所有用戶信息)和交易(包含用戶進行的所有交易,包括“發送者”和“接收者ID”),我的所有主題數據都是嵌套的。

我要做的第一件事是CREATE STREAM,然后我創建了另一個STREAM重命名那些嵌套字段,因為PARTITION BY不以某種方式接受嵌套字段,一切正常,我的問題是我想按每個發送者和接收者ID划分事務,所以我可以與用戶一起加入嗎KSQL接受PARTITION BY兩列嗎? 我是否需要按兩列進行分區才能工作,還是只需要按發送者或接收者進行分區?

我已經嘗試過了,但是又返回了一個錯誤,我還嘗試在最后添加PARTITION BY(發送者,接收者),然后又返回了另一個錯誤

ksql>使用(PARTITIONS = 1)AS \\ SELECT * FROM >> flattentransactions PARTITION BY發送者,接收者創建流事務; 第1:105行:輸入','預期為';'不匹配 聲明:使用(PARTITIONS = 1)AS SELECT創建CREAM事務* >> FROM flattentransactions PARTITION BY發送者,接收者; 由以下原因引起:第1:105行:輸入','預期為';'不匹配 引起原因:org.antlr.v4.runtime.InputMismatchException ##

您需要先串聯這些列:

CREATE STREAM transactions 
   WITH (PARTITIONS=1) AS 
    SELECT X,Y,Z,SENDER + RECEIVER AS MSG_KEY 
        FROM flattentransactions
    PARTITION BY MSG_KEY

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM