[英]Lowercase character in ksql stream column name make the column null
我使用以下命令從現有流post_raw
創建了新的流post
:
create stream "post" AS select id AS "ID", id AS "id" FROM post_review
。
當我運行SELECT id, "id" FROM post
,我得到:
5ce0a41de36bcb6769fea850 | null
5ce0e44b9f3990676209a901 | null
5ce0e9613ec64f1132918f2a | null
5ce13c599f3990676209a915 | null
5ce1bf9c3ec64f1132918fb9 | null
如果列名中有任何小寫字符,它將接縫ksql使列值null
。 對於潛在的話題post
是獲得數據。
print post
退貨:
{"ROWTIME":1564559632738,"ROWKEY":"5ce0a41de36bcb6769fea850","ID":"5ce0a41de36bcb6769fea850","id":"5ce0a41de36bcb6769fea850"}
{"ROWTIME":1564559634853,"ROWKEY":"5ce0e44b9f3990676209a901","ID":"5ce0e44b9f3990676209a901","id":"5ce0e44b9f3990676209a901"}
{"ROWTIME":1564559636963,"ROWKEY":"5ce0e9613ec64f1132918f2a","ID":"5ce0e9613ec64f1132918f2a","id":"5ce0e9613ec64f1132918f2a"}
{"ROWTIME":1564559643305,"ROWKEY":"5ce13c599f3990676209a915","ID":"5ce13c599f3990676209a915","id":"5ce13c599f3990676209a915"}
{"ROWTIME":1564559643305,"ROWKEY":"5ce1bf9c3ec64f1132918fb9","ID":"5ce1bf9c3ec64f1132918fb9","id":"5ce1bf9c3ec64f1132918fb9"}
為什么ksql將小寫的列值設置為null?
與小寫/大寫字母無關,但是您的問題與雙引號有關。
在post
主題中包含的消息中,您具有4個屬性: ROWTIME
, ROWKEY
, ID
和id
。 您沒有任何名為"id"
屬性(標簽中帶有雙引號!)
如果您的內容的格式如下,則查詢將返回值:
{"ROWTIME":..., "ROWKEY":..., "id":"5ce0a41de36bcb6769fea850", "\"id\"":"5ce0a41de36bcb6769fea850"}
我很確定SELECT id, ID FROM post
將返回您期望的結果。
或者,您可以嘗試在KSQL create stream
命令的AS
中添加雙引號。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.