1、KSQL语法:https://docs.confluent.io/current/ksql/docs/developer-guide/syntax-reference.html
KSQL kafka实战:https://my.oschina.net/guol/blog/2236817
KSQL REST API:https://docs.confluent.io/current/ksql/docs/developer-guide/api.html
2、基础语法
ssh -p5022 bdp_jt@10.138.46.222
-p 'bdp_jt'
kafka目录
/home/bdp_jt/confluent-5.1.2
手动生成topic
./bin/kafka-topics --create --zookeeper 10.138.225.199:2181/kafka_confluent_512 --replication-factor 1 --partitions 1 --topic zqdtest
查看kafka的topic
./bin/kafka-topics --zookeeper 10.138.225.199:2181/kafka_confluent_512 --list
生成生产者
(1)./bin/kafka-console-producer --broker-list 10.138.225.199:9092 --topic zqdtest
(2)./bin/ksql-datagen bootstrap-server=10.138.225.199:9092 quickstart=orders format=json topic=orders maxInterval=2000(自动生成topic并随机造数或往topic造数)
生成消费者
./bin/kafka-console-consumer --bootstrap-server 10.138.225.199:9092 --topic zqdtest
连接ksql
./bin/ksql http://10.138.225.199:8088
创建stream和table
(1)根据topic pageviews创建一个stream pageviews_original,value_format为DELIMITED
ksql>CREATE STREAM pageviews_original (userid varchar, pageid varchar) WITH \(kafka_topic='pageviews', value_format='DELIMITED');
(2)根据topic users创建一个table users_original,value_format为json
ksql>CREATE TABLE users_original (registertime BIGINT, gender VARCHAR, regionid VARCHAR, userid VARCHAR) WITH \(kafka_topic='users', value_format='JSON', key = 'userid');
查询数据
ksql> SELECT * FROM USERS_ORIGINAL LIMIT 3;
持久化查询
ksql> CREATE STREAM pageviews2 AS SELECT userid FROM pageviews_original;
查询steam
ksql> SHOW STREAMS;
查询执行任务
ksql> SHOW QUERIES;
消费新数据
cd /opt/programs/confluent_5.0.0/bin
./kafka-console-consumer --bootstrap-server 10.205.151.145:9092 --from-beginning --topic PAGEVIEWS2
终止查询任务
ksql> TERMINATE query_id;
显示所有字段
DESCRIBE MONITOR_ORIGINAL;
{"userid":2,"username":"cvcv"}
10.138.225.199
ssh bdp_jt@10.138.225.198
ssh bdp_jt@10.138.46.224
./bin/kafka-topics --zookeeper 10.138.225.199:2181/kafka_confluent_512 --topic zqdtest
insert into MONITOR_ORIGINAL select 1 as MONITORID, '{''FACTORYCODE'':'''+FACTORYCODE+''','+'''PROD_CODE'':'''+PROD_CODE+''','+'''BARCODE'':''&#