Apache kafka KsqlStatementException:语句未定义架构,并且提供的格式不支持架构推断
我正在kubernetes上使用一个ksql服务器,它使用汇合舵图 我为自己的个人用例修改了querys.sql文件。 这是我的疑问:Apache kafka KsqlStatementException:语句未定义架构,并且提供的格式不支持架构推断,apache-kafka,confluent-platform,ksqldb,Apache Kafka,Confluent Platform,Ksqldb,我正在kubernetes上使用一个ksql服务器,它使用汇合舵图 我为自己的个人用例修改了querys.sql文件。 这是我的疑问: CREATE STREAM ksql_test WITH (kafka_topic='orders-topic', value_format='DELIMITED', partitions='1', replicas='3'); 一旦我部署了这个吊舱,就会出现以下错误: ERROR Failed to start KSQL Server with quer
CREATE STREAM ksql_test WITH (kafka_topic='orders-topic', value_format='DELIMITED', partitions='1', replicas='3');
一旦我部署了这个吊舱,就会出现以下错误:
ERROR Failed to start KSQL Server with query file: /etc/ksql/queries/queries.sql (io.confluent.ksql.rest.server.StandaloneExecutor:124)
io.confluent.ksql.util.KsqlStatementException: statement does not define the schema and the supplied format does not support schema inference
Statement: CREATE STREAM ksql_test WITH (kafka_topic='orders-topic', value_format='DELIMITED', partitions='1', replicas='3');
无论我是否将格式更改为JSON,错误都保持不变,并且我没有此主题的模式 这就是问题所在:
语句未定义架构
KSQL流是一个卡夫卡主题加上一个模式。没有模式,就没有流
如果您的数据是分隔的,可能如下所示:
1,FOO,0.1,400
它有一个模式,可能类似于:
CREATE STREAM example (COL1 INT, LABEL VARCHAR, WIBBLE DOUBLE, TARGET BIGINT)
WITH (KAFKA_TOPIC='example_topic', VALUE_FORMAT='DELIMITED);
tl;dr如果没有架构,您无法创建流。如果您使用的是Avro,您已经有了架构(在架构注册表中),因此不必声明它。如果使用的是JSON或分隔符,则必须显式声明模式 这就是问题所在:
语句未定义架构
KSQL流是一个卡夫卡主题加上一个模式。没有模式,就没有流
如果您的数据是分隔的,可能如下所示:
1,FOO,0.1,400
它有一个模式,可能类似于:
CREATE STREAM example (COL1 INT, LABEL VARCHAR, WIBBLE DOUBLE, TARGET BIGINT)
WITH (KAFKA_TOPIC='example_topic', VALUE_FORMAT='DELIMITED);
tl;dr如果没有架构,您无法创建流。如果您使用的是Avro,您已经有了架构(在架构注册表中),因此不必声明它。如果使用的是JSON或分隔符,则必须显式声明模式 它是配置的一部分:它是配置的一部分: