StreamCQL : 实时计算系统 ( CEP ) 中的持续查询语言 CQL

StreamCQL : 实时计算系统中的持续查询语言

CQL  ( Continuous Query Language )  是一个针对流式数据的查询语言。相对于传统的SQL来说,CQL中增加了window 窗口的概念。数据存储在内存中,因此内存中的计算可以快速的完成。

CQL 的查询结果就是流式数据的某个时间点下的计算结果。

CQL 是基于 Strom 的 SQL 查询语言,主要用来针对 Strom 原始的API太复杂,不易用而提出的,当然也添加了一些 Strom SQL 中 本应该有的基本功能。

CQL 改进了Strom的组件的易用性。在设计CQL的时候,我们发现,当前的CEP产品中的语法不只是包含SQL语句,还包含了客户端代码。这一点很不爽,因为这让用户不得不学习客户端API的使用 ,同时也增加了复杂度和难度。

CQL的设计目标就是用纯 SQL语法来避免以上Strom CEP 查询语法带来的缺点。

核心概念:

流 Stream ,即一个有限的元素集合,集合中的元素拥有相同的schema。同时,每个元素都有相对的逻辑时间(属性)。

窗口window:一个用来处理流式时间的方法。有两种窗口,一种是基于时间的,另一种是基于行的。

表达式:符号和操作符的集合。CQL的解析引擎可以处理一个表达式来获得一个固定的值。多个表达式可以组合使用。

https://github.com/HuaweiBigData/StreamCQL

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Flutter入门到实战

那些年遇到的后台返回的奇葩json数据

然而:错误数据返回null不说,错误信息居然返回一个一个url?就这么一点错误信息,还要我再去请求一次服务器获取这个错误信息吗。。 服务器流量不要钱的吧。。。...

6032
来自专栏互联网杂技

如何去了解JavaScript引擎的工作原理

1. 什么是JavaScript解析引擎? 简单地说,JavaScript解析引擎就是能够“读懂”JavaScript代码,并准确地给出代码运行结果的一段程序。...

3907
来自专栏腾讯云Elasticsearch Service

Elasticsearch 6.x索引预排序分析

Elasticsearch 从6.0版本开始,引入了一个索引预排序(index sorting)的功能。使用这个功能,用户可以在文档写入的阶段,按指定的字段规则...

6.1K16
来自专栏小樱的经验随笔

CTF---Web入门第十题 Once More

Once More分值:10 来源: iFurySt 难度:易 参与人数:4782人 Get Flag:2123人 答题人数:2166人 解题通过率:98%...

3036
来自专栏我的小碗汤

使用pprof优化golang性能

Donald E.Knuth说过一句非常著名的话,过早的优化是万恶之源。原文如下:

1874
来自专栏牛客网

腾讯视频C++后台

然后开始面试,面试过程比较凌乱,感觉面试官在想问题问,中间比较尴尬。下面是记得的一下题目:

1342
来自专栏机器学习算法与Python学习

精选26个Python实用技巧,想秀技能先Get这份技术列表!

Python 虽然是脚本语言,但是因为其易学,迅速成为科学家的工具,从而积累了大量的工具库、架构,人工智能涉及大量的数据科学,用 Python 是很自然的事。磨...

1392
来自专栏ThoughtWorks

在项目中透明地引入特性开关

之前曾经推荐过崔立强的《使用功能开关更好地实现持续部署》,介绍Feature Toggle的实践。北京办公室的孟宇现在对这个问题有了新的思考,当我们抛却Spri...

3936
来自专栏AI科技大本营的专栏

精选26个Python实用技巧,想秀技能先Get这份技术列表!

【导读】Python 虽然是脚本语言,但是因为其易学,迅速成为科学家的工具,从而积累了大量的工具库、架构,人工智能涉及大量的数据科学,用 Python 是很自然...

1435
来自专栏敏捷开发&项目管理

TDD 一个简单的例子

我们按照 TDD的1个准备步骤+关键5步来看做一个小例子。 需求: 假设我有一个叫Dollar的class, 那它有个方法叫做Times. 我现在的目的是要实现...

3658

扫码关注云+社区

领取腾讯云代金券