码迷,mamicode.com
首页 > 数据库 > 详细

大数据开发实战:Stream SQL实时开发

时间:2018-09-05 11:41:23      阅读:281      评论:0      收藏:0      [点我收藏+]

标签:提交   抽象   大数据开发   bubuko   核心   概念   流式   通过   声明   

  1、流计算SQL原理和架构

    流计算SQL通常是一个类SQL的声明式语言,主要用于对流式数据(Streams)的持续性查询,目的是在常见流计算平台和框架(如Storm、Spark Streaming、Flink、Beam等)的底层API上,

  通过使用简易通用的的SQL语言构建SQL抽象层,降低实时开发的门槛。

    流计算SQL的原理其实很简单,就是在SQL和底层的流计算引擎之间架起一座桥梁---流计算SQL被用户提交,被SQL引擎层翻译为底层的API并在底层的流计算引擎上执行。比如对Storm

  来说,会自动翻译成Storm的任务拓扑并在Storm集群上运行。

    流计算SQL引擎是流计算SQL的核心,主要负责对用户SQL输入进行语法分析、语义分析、逻辑计划生成、逻辑计划执行、物理执行计划生成等操作。而真正执行计算的是底层的流计算平台。

    不同于离线任务,实时的数据是不断流入的,所以为了使用SQL来对流处理进行抽象,流计算SQL也引入了“表”的概念,不过这里的表是动态表。

    流计算SQL的架构如下:

    技术分享图片

    SQL层:流计算SQL给用户的接口,它提供过滤、转换、关联、聚合、窗口、select、union、split等各种功能。

    SQL引擎层:负责SQL解析/校验、逻辑计划生成优化和物理计划执行等。

    流计算引擎层:具体执行SQL引擎层生成的执行计划。

 

大数据开发实战:Stream SQL实时开发

标签:提交   抽象   大数据开发   bubuko   核心   概念   流式   通过   声明   

原文地址:https://www.cnblogs.com/shaosks/p/9591076.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!