mysql大数据

ksql-datagen测试数据生成器

2020-01-31  本文已影响0人  佛系小懒

测试数据生成器ksql-datagen

用法

DataGen [help] [bootstrap-server= (defaults to localhost:9092)] [quickstart= (case-insensitive; one of 'orders', 'users', or 'pageviews')] schema= [schemaRegistryUrl= (defaults to http://localhost:8081)] format= (case-insensitive; one of 'avro', 'json', or 'delimited') topic= key= [iterations= (defaults to 1,000,000)] [maxInterval= (defaults to 500)] [propertiesFile=]

示例

ksql-datagen bootstrap-server=192.168.133.128:9492  quickstart=users format=json topic=users maxInterval=100

bootstrap-server:指定broker的地址

quickstart:指定demo数据类型(大小写不敏感)

format:指定数据格式

maxInterval:两行数据之间的时间间隔(单位:ms)

出现类似:org.apache.kafka.common.errors.TimeoutException: Topic users not present in metadata after 60000 ms. 排除网络原因后, 一般是bootstrap-server配置错误

在构造测试数据之前先执行创建topic、表的操作,具体操作如下:

(1)查看所有topic、表、stream信息: show topics;show tables; show stream;

(2)创建表、创建流(实际是对数据操作的监控、本省未落盘数据)

CREATE STREAM pageviews_original (viewtime bigint, userid varchar, pageid varchar) WITH

(kafka_topic='pageviews', value_format='DELIMITED');

KSQL的语法

ksql主要是针对正在处理的kafka数据通过sql进行处理进度查询--->类似mysql里面的视图,具体参见链接

注意如下两处

(1) 退出KSQL CLI不会终止正在执行的查询操作

(2) KSQL CLI 下执行使用sql脚本运行: RUNSCRIPT'/path/to/local/application.sql'; 存在使用上的限制,支持大部分操作,除了show tables; show topics, show streams等

(3) 命令行运行ksql:

方式1:echo -e "SHOW TOPICS;\nexit" | ksql

方式2:ksql http://localhost:8088 <<< "SHOW TOPICS;"对于一次执行多个操作的需要使用换行符,这里需要注意

上一篇 下一篇

猜你喜欢

热点阅读