一、简介
我这里使用的版本的是1.10.(之前试用过1.13的,结果可能是因为后面安装的Kafka插件版本和flink版本不同,导致查询出现问题)。安装这里就不说了。
1.启动flink
bin/start-cluster.sh。启动后可以看到如下进程。
2.启动sql-client
3.连接kafka需要增加扩展包(默认的只支持csv,file等文件系统)
flink-json-1.10.2.jar (https://repo1.maven.org/maven2/org/apache/flink/flink-json/1.10.2/flink-json-1.10.2.jar)
flink-sql-connector-kafka_2.11-1.10.2.jar (https://repo1.maven.org/maven2/org/apache/flink/flink-sql-connector-kafka_2.11/1.10.2/flink-sql-connector-kafka_2.11-1.10.2.jar)
将jar包flink 文件夹下的lib文件夹下
4.启动sql-client
bin/sql-client.sh embedded -1 lib/
5.创建Kafka Table
CREATE TABLE test(a int,
b int,
c int)with('connector.type' = 'kafka',
'connector.version' = 'universal',
'connector.properties.group.id' = 'g2.group1',
'connector.properties.bootstrap.servers' = '192.168.1.201:9092,192.168.1.202:9092',
'connector.properties.zookeeper.connect' = '192.168.1.201:2181',
'connector.topic' = 'customer_test',
'connector.startup-mode' = 'earliest-offset',
'format.type' = 'json');
6.插入数据
insert into test(a,b,c)
values(1,1,2),(2,10,2),(3,1,20);
在这里我一开始flink的版本是1.13和新增的kafka插件版本不对应。(我觉得是版本问题。哈哈。希望有大佬可以解决)
java.lang.ClassCastException: org.apache.calcite.sql.SqlBasicCall cannot be cast to org.apache.calcite.sql.SqlIdentifier
7.执行查询
select * from CustomerStatusChangedEvent ;