当前位置: 首页 > 知识库问答 >
问题:

Kafka可以直接连接创建流吗?

施兴言
2023-03-14

因此,我想知道做这件事的步骤。

我的理想是由kafka Connect创建与表相对应的主题,然后再由我声明(使用KSQL)创建视图。

虽然我在这里描述的一开始听起来是可行的,但我对数据有一个问题主题中数据的结构(模式)。问题似乎是,我可能必须做一个额外的步骤,但不知道它是否可以避免或实际上是必要的。

共有1个答案

翟昊明
2023-03-14

1-因此,问题是,有没有一种从Kafka connect自动创建Kstream或Ktable的方法?

不,您需要手动执行此操作。但如果您使用的是Avro,那么它只是一个简单的语句:

使用(kafka_topic='bar',value_format='avro')创建流foo;

CREATE STREAM foo (COL1 INT, COL2 VARCHAR, COL3 INT, COL4 STRUCT<S1 INT,S2 VARCHAR>) 
WITH (KAFKA_TOPIC='bar_json',VALUE_FORMAT='JSON');

3-如果Kafka connect不能直接创建Kstream和KTable,那么KSQL可以直接在Kafka connect创建的主题上操作连接吗?

KSQL可以连接流和表,是的。流/表只是一个带有模式的Kafka主题。

它是否能够解释这些主题中的数据结构(即kafka connect生成的模式)并对其执行连接,并将结果作为Kstream提供?

CREATE STREAM A WITH (KAFKA_TOPIC='A', VALUE_FORMAT='AVRO');
CREATE TABLE B WITH (KAFKA_TOPIC='B', VALUE_FORMAT='AVRO', KEY='ID');

CREATE STREAM foobar AS 
SELECT A.*, B.* FROM 
A LEFT OUTER JOIN B ON A.ID = B.ID;
    null
 类似资料:
  • 我有两个Kafka主题-和。第一个主题包含由唯一Id(称为)键入的recommendations对象。每个产品都有一个用户可以单击的URL。 主题获取通过单击推荐给用户的产品URL生成的消息。它是如此设置的,这些单击消息也由键控。 请注意 > 每个单击对象都会有一个相应的推荐对象。 click对象的时间戳将晚于Recommensions对象。 建议和相应的点击之间的间隔可能是几秒钟到几天(最多7天

  • 我正在使用现有的Java代码,其中在部署的系统上有一个现有的JDBC连接池机制,并且有一个已经存在的获取JDBC连接的设置。我想利用这一点来创建MyBatis SqlSession对象,而不创建配置、数据源和其他东西 我的代码已经创建了对象,并为其提供了所需的资源。我想利用这一点,获得对象,并从此使用MyBatis。 我不希望MyBatis管理连接池,确定使用哪个数据源等等,这可能吗?

  • kafka jdbc接收器连接器是否支持将其使用的内容写入不同的主题。我正在寻找一种传递机制,如下图所示。如果没有,我可以链接一个接收器和源(从接收器写的地方读取),但我认为这不会有那么好的性能。也许我可以修改现有的接收器连接器来实现这一点?

  • null null 我看到BufferedWriter constuctor需要一个作家,所以我假设没有,但我不禁想知道你是否可以减少一些步骤。

  • 通常kafka-configs.sh用于创建SCRAM凭据,以便使用此命令进行身份验证 有没有其他方法可以创建这些凭证,直接在zookeeper上或者通过Java?

  • 我想加入一个 kstream:从主题创建,该主题具有JSON值。我使用值中的两个属性来重新键控流。示例值(json的片段)。我创建了自定义pojo类并使用自定义SERDES。 键映射为: 我查看了KStream并打印了键和我使用的属性。看起来都很好。 null 现在,当我执行内部连接并对主题进行窥视或通过/时,我看到键和值不匹配。Join似乎不起作用, 我有完全相同的东西通过ksql工作,但想做我