代码样例


功能介绍

按照每秒一条的规则生成随机数,发送至其他算子进行处理。过滤出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。

results matching ""

    No results matching ""