8.1.4. SQL解析层介绍

1. LSQL与HIVE(Spark SQL)的关系

​ 由于LSQL底层使用SPARK进行复杂业务SQL的计算,所以LSQL支持的SQL宏观可分为简单SQL和复杂SQL。

​ 简单SQL为纯LSQL SQL(即LSQL层SQL)。复杂SQL为复合SQL,即一个SQL语句中同时使用了LSQL计算查询引擎和SPARK 计算查询引擎。

​ 对于LSQL系统来说,我们将索引与SPARK集成在了一起,但是LSQL层的SQL解析与SPARK层的SQL解析是分别处理。

2. 什么是spark

​ Apache Spark 是专为大规模数据处理而设计的快速通用的计算引擎。Spark是基于内存的迭代计算框架,适用于需要多次操作特定数据集的应用场合。SparkSQL的前身是Shark,Shark是伯克利实验室Spark生态环境的组件之一,它修改了内存管理、物理计划、执行三个模块,并使之能运行在Spark引擎上,从而使得SQL查询的速度得到10-100倍的提升。

3. LSQL与spark的关系

​ LSQL的SQL统计也是基于spark,但lsql又增强了spark,主要体现在下面两个方面:

  1. ) 通过lucene给spark加了一层索引

    • 索引技术大幅度的加快数据的检索速度。

    • 索引技术可以显著减少查询中分组、统计和排序的时间。

    • 索引技术大幅度的提高系统的性能和响应时间,从而节约资源。

  2. ) 让spark SQL可以实时导入数据,弥补了spark只能处理离线数据的不足。

    ​ 因为spark支持复杂的SQL查询,所以lsql因为基于spark,故也支持复杂的SQL统计,但又有检索与facet的两个绝对优势。

4. 如何区分Spark的SQL解析层与LSQL的SQL解析层

(1) 从架构角度

(2) 从SQL角度

​ 在LSQL中,由系统自动识别SQL解析层,但是LSQL层的语法解析规则依然存在,请详细阅读下面的LSQL SQL编写思路。

Copyright © lucene.xin 2020 all right reserved修改时间: 2021-07-02 11:42:23

results matching ""

    No results matching ""