【技术实现步骤摘要】
一种分布式计算引擎数据查询优化方法、装置及存储介质
[0001]本专利技术涉及医疗评估
,具体涉及一种分布式计算引擎数据查询优化方法、装置及存储介质。
技术介绍
[0002]在应用分布式计算引擎(spark)实现作业开发时,经常会遇到在海量数据情况下的随机查询或多表聚合关联查询;全表扫描是现有技术中一种常见的顺序读取数据的查询方式,虽然任何对数据的访问需求,都可以通过全表扫描的方式解决,但在逻辑上,这种方式会读取表中的所有行,然后检查每一行是否满足语句的限制条件,尤其在表与表之间进行关联并有过滤条件的情况下,只能先对SQL中的每一个表先进行全表扫描,过滤出相应结果集后再通过与对另一张表进行全表扫描后过滤出来的结果集进行JOIN操作;由于全表扫描过程中,需要对每张表都要进行全表扫描,因此会产生大量的IO消耗,故查询性能就不可能太理想;
技术实现思路
有鉴于此,本专利技术的目的在于提供一种分布式计算引擎数据查询优化方法、装置及存储介质,以解决现有技术中,需要对每张表都进行全表扫描,会产生大量的IO消耗,查询 ...
【技术保护点】
【技术特征摘要】
1.一种分布式计算引擎数据查询优化方法,其特征在于,包括:通过Spark计算引擎解析出能被下推的谓词,Spark将他们传递给Parquet进行谓词合并操作,将所述谓词合并操作放至叶子节点上使谓词合并操作在数据源上执行;基于过滤后的数据源选取任意两个目标表进行join操作,获取目标数据。2.根据权利要求1所述的方法,其特征在于,所述基于过滤后的数据源选取任意两个目标表进行join操作,获取目标数据包括:通过压缩Bloom Filter进行哈希映射,获取任意两个目标表中共同拥有的属性连接值,基于共同的属性连接值提取所述任意两个目标表的目标数据,并分别存储到新的位数组A和位数组B中。3.根据权利要求2所述的方法,其特征在于,还包括:在获取新的位数组A和位数组B后,通过压缩Bloom Filter进行网络广播位数组A和位数组B,将其他不参与连接阶段的无效数据进行去除。4.根据权利要求1所述的方法,其特征在于,所述进行谓词合并操作前,包括:将谓词处理成父表达式为and操作符,且子表达式为基础表达式,基础表达式包括一元操作表达式和二元操作表达式,子表达式中的谓词用or操作符连接起来的表达式,采用布尔代数的公式对谓词表达式进行推导...
【专利技术属性】
技术研发人员:左俊华,吴小前,
申请(专利权)人:北京滴普科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。