繁体   English   中英

如何将 MySql 表数据集成到 Ksql 流或表?

[英]How to Integrate MySql tables Data To Ksql Stream or Tables?

我正在尝试构建从MySqlKsql的数据管道。

用例:数据源为MySql。 我在 MySql 中创建了一个表。

我在用

./bin/connect-standalone ./etc/schema-registry/connect-avro-standalone.properties  ./etc/kafka-connect-jdbc/source-quickstart-sqlite.properties 

启动一个独立的连接器。 它工作正常。

我正在使用主题名称启动消费者,即

./bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test1Category --from-beginning

当我在 MySQL 表中插入数据时,我也在消费者中得到了结果。 我已经创建了具有相同主题名称的 KSQL Stream 我也期待在我的 Kstream 中得到相同的结果,但是我在做的时候没有得到任何结果

select * from <streamName>

连接器配置--source-quickstart-mysql.properties

    name=jdbc_source_mysql
connector.class=io.confluent.connect.jdbc.JdbcSourceConnector

key.converter=io.confluent.connect.avro.AvroConverter
key.converter.schema.registry.url=http://localhost:8081

value.converter=io.confluent.connect.avro.AvroConverter
value.converter.schema.registry.url=http://localhost:8081

connection.url=jdbc:mysql://localhost:3306/testDB?user=root&password=cloudera

#comment=Which table(s) to include
table.whitelist=ftest

mode=incrementing
incrementing.column.name=id

topic.prefix=ftopic

样本数据

  • 数据库

1.) 创建数据库:

CREATE DATABASE testDB;

2.) 使用数据库:

USE testDB;

3.) 创建表:

    CREATE TABLE products (
  id INTEGER NOT NULL PRIMARY KEY,
  name VARCHAR(255) NOT NULL,
  description VARCHAR(512),
  weight FLOAT
);

4.) 向表中插入数据:

    INSERT INTO products(id,name,description,weight)
  VALUES (103,'car','Small car',20);
  • KSQL

1.) 创建流:

CREATE STREAM pro_original (id int, name varchar, description varchar,weight bigint) WITH \
(kafka_topic='proproducts', value_format='DELIMITED');

2.) 选择查询:

Select * from pro_original;

预期产出

  1. 消费者

获取插入到 MySQL 表中的数据。

在这里,我在 MySQL 中获取数据。

  1. 数据库

应填充 In-Stream 数据,该数据插入 Mysql 表并反映在 Kafka 主题中。

我在 ksql 中没有得到预期的结果

帮我处理这个数据管道。

您的数据采用 AVRO 格式,但在VALUE_FORMAT而不是您定义的AVRO DELIMITED 指示 KSQL 存储在主题中的值的格式很重要。 以下应该为您解决问题。

CREATE STREAM pro_original_v2 \ 
WITH (KAFKA_TOPIC='products', VALUE_FORMAT='AVRO');

执行插入kafka主题的数据

SELECT * FROM pro_original_v2;

现在应该在您的 ksql 控制台窗口中可见。

您可以在此处查看KSQL 中的一些 Avro 示例。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM