代码之家  ›  专栏  ›  技术社区  ›  Sniper007

KSQL表不显示数据,但具有相同结构的流返回数据

  •  3
  • Sniper007  · 技术社区  · 7 年前

    我在KSQL中创建了一个表,而查询它时不会返回任何数据。然后,我在同一主题上创建了一个具有相同结构的流,并且能够查询数据。

    我错过了什么。我需要这张桌子来连接一条流。

    CREATE TABLE users_table \
    (registertime bigint, userid varchar, regionid varchar, gender varchar) \
    WITH (value_format='json', kafka_topic='users_topic',key='userid');
    

    CREATE STREAM users_stream \
    (registertime bigint, userid varchar, regionid varchar, gender varchar) \
     WITH (value_format='json', kafka_topic='users_topic');
    

    提前谢谢。

    1 回复  |  直到 4 年前
        1
  •  6
  •   Matthias J. Sax    7 年前

    如果你把一个话题作为一个话题来读 TABLE 主题中的消息必须设置密钥。如果钥匙是 null ,记录将自动删除。KSQL中的密钥 是主键,并且 无效的 主键的值无效。

    此外,关键属性消息中的值, 必须 与键相同(注意,模式本身是根据消息的值定义的)。例如,如果您有一个模式, <A,B,C> 你准备好了吗 A 作为键,主题中的消息必须 <key,value> == <a,<a,b,c>> . 否则,您将得到错误的结果。