在streaming process中为什么需要类似sql查询语言

从现有的CEP(Complex Event Processing)框架,像强大得Esper,我们学到很多工作完全可以通过写sql来完成的,不需要编写任何的代码。所以对于流处理我认为也需要这样的类似sql查询语言。目前像Storm这样的流处理平台框架强迫使用者去实现像silding window,一些query pattern的操作。我认为并不是每一个案例开发者都喜欢重写这些东西。

所以我们需要high level的抽象,我可以完全把一些算法封装好,直接拼装调用即可,或者直接支持sql语法。我们可以从Hive for HadoopSpark SQLapache Flink中学习到很多。

下面列举一下为什么需要类似sql查询语言的原因:
1. 实时分析很复杂,业务开发人员很不情愿去实现一些像sliding window,或者时间事件模式的算法;
2. SQL简单,很容易理解和学习,开发成本低;
3. SQL语言简短通用,而且快
4. SQL自身的核心语法可以解决90%的问题
5. 历年来BI专家倾向的语言
6. 实时分析可以更好的优化SQL语言模型的执行计划,大部分的优化操作已经在研究,有些已经研究出来了可以直接拿过来用。

Why We need SQL like Query Language for Realtime Streaming Analytics?

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。