代码样例
功能介绍
按照每秒一条的规则生成随机数,发送至其他算子进行处理。过滤出id>5的所有数据,并按照字段type进行分组,统计出每20秒内各type的数量,最终将结果打印到应用程序日志文件中。
代码样例
CQL语句示例:
/*
* CQL示例工程,从随机数据生成算子中生成随机数据
* 将处理完毕的数据打印在控制台(一般是日志文件)中
*/
--生成随机数,每秒1条
CREATE INPUT STREAM s
(id INT, name STRING, type INT)
SOURCE randomgen
PROPERTIES
( timeUnit = "SECONDS", period = "1",
eventNumPerPeriod = "1", isSchedule = "true");
--将计算结果输出到控制台(日志文件)中
CREATE OUTPUT STREAM rs
(type INT, cc INT)
SINK ConsoleOutput;
--统计每个20秒内产生的id>5的数据按照type分组之后每组数量
--时间跳动窗口,每20秒产生一次结算结果
INSERT INTO STREAM rs SELECT type, count(id) as cc
FROM s[RANGE 20 SECONDS BATCH] WHERE id > 5 GROUP BY type;
--提交应用程序
SUBMIT APPLICATION example;
注意事项
如果集群启用了安全服务,在提交应用程序之前,请确保已经进行安全登录。关于用户安全登录,请参见《管理员指南》。
如果CQL语句中包含中文,要注意修改linux ssh客户端(比如PuTTY) 编码格式为utf-8。