如何在ksql流中将列指定为键

px9o7tmv  于 2021-07-15  发布在  Kafka
关注(0)|答案(0)|浏览(380)

如何将自定义列分配给ksql流中的键。在步骤1中,我创建了 messagekey 列并将其指定为 KEY 在第二步中,我将使用udf生成一个uuid并将其分配给 messagekey 它在创建第二个流时给出了这个错误。
错误

  1. Key missing from projection.
  2. The query used to build `ksql_test_step2` must include the key column***messagekey***in its projection.

代码

  1. CREATE STREAM ksql_test_step1
  2. (messagekey varchar KEY,
  3. explode(payload->scores) as scores,
  4. domain varchar)
  5. WITH (kafka_topic='test_topic', value_format='JSON');
  6. create stream ksql_test_step2 WITH (value_format='json') as
  7. select generate_uuid(id,EXTRACTJSONFIELD(scores,'$.source'),
  8. EXTRACTJSONFIELD(scores,'$.code'),
  9. EXTRACTJSONFIELD(scores,'$.version')) as messagekey,
  10. domain
  11. from ksql_test_step1
  12. emit changes;

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题