Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache kafka 如何在Kafka或KSQL中修改或添加主题键_Apache Kafka_Confluent Platform_Ksqldb - Fatal编程技术网

Apache kafka 如何在Kafka或KSQL中修改或添加主题键

Apache kafka 如何在Kafka或KSQL中修改或添加主题键,apache-kafka,confluent-platform,ksqldb,Apache Kafka,Confluent Platform,Ksqldb,我有很多主题都是在没有键的情况下创建的,如何修改它们并添加合适的主题 我需要为一些连接器更改此设置,以便它们正确阅读主题 我个人使用ksql,但我没有找到任何方法键被添加到记录中,而不是主题中。您可以简单地开始用键编写记录 您不能向已发布的记录添加键,因为Kafka日志是不可变的。为了做到这一点,您可以使用包含未知记录的主题中的数据,并在每个记录中设置一个键,然后将它们重新发布到另一个主题 您可以使用KSQL通过分区来实现这一点: 创建流键控\u流作为\ 选择*从unkeeded_流分区按; 键

我有很多主题都是在没有键的情况下创建的,如何修改它们并添加合适的主题

我需要为一些连接器更改此设置,以便它们正确阅读主题


我个人使用ksql,但我没有找到任何方法

键被添加到记录中,而不是主题中。您可以简单地开始用键编写记录

您不能向已发布的记录添加键,因为Kafka日志是不可变的。为了做到这一点,您可以使用包含未知记录的主题中的数据,并在每个记录中设置一个键,然后将它们重新发布到另一个主题

您可以使用KSQL通过分区来实现这一点:

创建流键控\u流作为\
选择*从unkeeded_流分区按;

键被添加到记录中,而不是主题中。您可以简单地开始用键编写记录

您不能向已发布的记录添加键,因为Kafka日志是不可变的。为了做到这一点,您可以使用包含未知记录的主题中的数据,并在每个记录中设置一个键,然后将它们重新发布到另一个主题

您可以使用KSQL通过分区来实现这一点:

创建流键控\u流作为\
选择*从unkeeded_流分区按;

但我如何在接收器连接器内使用此键控流?此键控流将是源主题,KSQL正在创建一个新主题,您可以通过运行
show streams来查看此主题。将该主题作为接收器连接器的源主题。@Sano您可以使用Connect的SMT功能在Connect配置中创建/提取密钥,但我如何在接收器连接器中使用此密钥流?此密钥流将是源主题,KSQL正在创建一个新主题,您可以通过运行
show streams。将该主题作为接收器连接器的源主题。@Sano您可以使用Connect的SMT功能在Connect配置中创建/提取密钥。是否可以显示示例记录以及希望从中获取的密钥?是否可以显示示例记录以及希望从中获取的密钥?
CREATE STREAM KEYED_STREAM as \
  SELECT * FROM UNKEYED_STREAM PARTITION BY <key column>;