【发布时间】:2019-11-16 15:42:13
【问题描述】:
我有一个场景,我需要在 Kafka 中导入整个数据库,并在数据库术语中创建用户可以查询的那些表上的一些视图。我的要求是通过物理模型(表)中的视图重建逻辑模型。
因此我想知道执行此操作的步骤。
我的理想是 kafka Connect 创建与表相对应的主题,然后在此之后,让我以声明方式(使用 KSQL)创建视图。
虽然我在这里描述的内容起初听起来可行,但我对主题中的数据结构(模式)有疑问。问题似乎是我可能不得不做一些额外的步骤,但想知道它是否可以避免或实际上是必要的。
更具体地说,视图通常表示表上的连接。我想如果我想在表上进行连接,我需要已经创建了 Ktable 或 Kstream,它们给出了进行连接的结构。但是如果 Kafka connect 只是创建主题而不是 Ktable 或 Kstream,似乎需要执行额外的步骤来自动使这些主题作为 Ktable 或 Kstream 可用。此时,我可以使用 KSQL 创建表示物理模型的视图。
1 - 因此问题是,Kafka connect 有没有办法自动创建 Kstream 或 Ktable?
2 - Kafka 连接作为模式的概念,它与 Kstream/KTable 结构(模式)和格式(json/avro/delimited)有什么关系?
3 - 如果 Kafka connect 不能直接创建 Kstream 和 KTable,KSQL 是否可以直接对 Kafka connect 创建的主题进行连接?它是否能够解释这些主题中的数据结构(即 kafka 连接生成的模式)并对其执行连接,并将结果作为 Kstream 提供?
4 - 如果我的所有假设都是错误的,有人可以告诉我我的问题在 KSQL/Kafka-stream/Kafka-connect 方面的步骤吗?
【问题讨论】:
标签: apache-kafka-streams apache-kafka-connect ksqldb