【问题标题】:KSQL create table as selectKSQL 创建表作为选择
【发布时间】:2021-06-17 21:12:23
【问题描述】:

CREATE TABLE AS SELECT 只能通过分组来完成,但是如何在 Base 中组织一个表(您需要一个没有聚合/分组的简单表)以便用数据补充另一个流? 举个例子: 有一个带有字段(产品,city_id)的流 A。 我们需要一个带有字段(city_id,city_name)的表(或其他东西),由另一个线程补充。

还有一个流将补码流 A 与表中的名称连接起来。

如何使用外部目录组织数据丰富?

【问题讨论】:

    标签: apache-kafka ksqldb


    【解决方案1】:

    您可以通过这种方式使用LATEST_BY_OFFSET 聚合来构建数据表。

    CREATE STREAM source_city_data 
      WITH (KAFKA_TOPIC='source_city_data', FORMAT='AVRO');
    
    CREATE TABLE city_data AS 
      SELECT city_id, LATEST_BY_OFFSET(city_name) AS city_name 
      FROM source_city_data;
    

    【讨论】:

    • Use of aggregate function LATEST_BY_OFFSET requires a GROUP BY clause.
    • 对,所以你 GROUP BY city_id。表是键的值,所以你必须有一个键(GROUP BY
    猜你喜欢
    • 1970-01-01
    • 2018-10-15
    • 1970-01-01
    • 2016-01-04
    • 1970-01-01
    • 1970-01-01
    • 2013-07-17
    • 2012-08-15
    • 1970-01-01
    相关资源
    最近更新 更多