System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
所属的技术人员能够理解,本公开的各个方面可以实现为系统、方法或程序产品。因此,本公开的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。示例性电子设备在介绍了本公开示例性实施方式的数据扫描方法、存储介质和数据扫描装置之后,接下来,参考图8对本公开示例性实施方式的电子设备进行说明。图8显示的电子设备800仅仅是一个示例,不应对本公开实施例的功能和适用范围带来任何限制。如图8所示,电子设备800以通用计算设备的形式表现。电子设备800的组件可以包括但不限于:至少一个处理单元810、至少一个存储单元820、连接不同系统组件(包括存储单元820和处理单元810)的总线830。其中,存储单元存储有程序代码,程序代码可以被处理单元810执行,使得处理单元810执行本说明书上述“示例性方法”部分中描述的根据本公开各种示例性实施方式的步骤。在一些实施例中,处理单元810可以执行上述数据扫描方法实施例的如下步骤:将数据扫描任务信息分别发送至所述多个执行器,以使所述多个执行器分别根据所述数据扫描任务信息,对其所在的数据节点进行数据扫描;接收所述多个执行器各自返回的数据扫描结果。存储单元820可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(ram)8201和/或高速缓存存储单元8202,还可以进一步包括只读存储单元(rom)8203。存储单元820还可以包括具有一组(至少一个)程序模块8205的程序/实用工具8204,这样的程序模块8205
技术介绍
1、本部分旨在为权利要求书中陈述的本公开的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
2、数据扫描是指在数据库或数据存储系统中,通过遍历数据来查找满足特定条件的记录或数据块的过程。
3、相关技术在执行数据扫描任务时,需要预先将各个数据节点中存储的数据读取至用于执行数据扫描任务的单一节点,并由该节点独立完成数据扫描任务。由于各个数据节点中均存储有大量数据,因此数据读取过程会占用大量内存,且由单一节点独立扫描全部数据的扫描方式效率较低。
技术实现思路
1、相关技术在进行数据扫描任务中,内存占用大,扫描效率低。
2、为此,在本上下文中,本公开的实施方式期望提供一种数据扫描方法、装置、电子设备和存储介质。
3、在本公开实施例的第一方面中,提供了一种数据扫描方法,应用于spark框架中的驱动器,spark框架包括驱动器以及与驱动器连接的多个执行器,其中,多个执行器分别配置在分布式数据库的各个数据节点上,该方法包括:
4、将数据扫描任务信息分别发送至多个执行器,以使多个执行器分别根据数据扫描任务信息,对其所在的数据节点进行数据扫描;
5、接收多个执行器各自返回的数据扫描结果。
6、在一些实施例中,将数据扫描任务信息分别发送至多个执行器,包括:
7、构建广播变量,广播变量用于携带数据扫描任务信息;
8、将广播变量分别发送至多个执行器,以使各个执行器中的任务线程从广播变量中获取数据扫描任务信息,任务线程用于根据数据扫描任务信息,执行数据扫描任务。
9、在一些实施例中,数据扫描任务信息用于示出至少一个待扫描字段以及相应的数据筛选条件,该方法还包括:
10、构建累加器,累加器用于记录每个待扫描字段中目标数据的行数,其中,目标数据为满足数据筛选条件的数据;
11、将累加器分别发送至多个执行器,以便每个执行器分别将累加器下发至各自的任务线程。
12、在一些实施例中,数据扫描结果包括各个任务线程中累加器记录的累加结果,每个任务线程中累加器记录的累加结果包括该任务线程在每个待扫描字段中扫描到的目标数据的行数,接收多个执行器各自返回的数据扫描结果,包括:
13、接收多个执行器中各个任务线程返回的累加结果。
14、在一些实施例中,每个任务线程分别用于扫描该任务线程所在的数据节点中不同数据分片内待扫描字段的数据。
15、在一些实施例中,该方法还包括:
16、汇总各个任务线程返回的累加结果,得到最终扫描结果;
17、根据最终扫描结果,在至少一个待扫描字段中确定目标字段。
18、在一些实施例中,汇总各个任务线程返回的累加结果,得到最终扫描结果,包括:
19、将各个任务线程返回的累加结果中,相同待扫描字段中扫描到的目标数据的行数相加,得到每个待扫描字段中全部目标数据的行数;
20、将每个待扫描字段中全部目标数据的本文档来自技高网...
【技术保护点】
1.一种数据扫描方法,其特征在于,应用于Spark框架中的驱动器,所述Spark框架包括所述驱动器以及与所述驱动器连接的多个执行器,其中,所述多个执行器分别配置在分布式数据库的各个数据节点上,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述将数据扫描任务信息分别发送至所述多个执行器,包括:
3.根据权利要求1或2所述的方法,其特征在于,所述数据扫描任务信息用于示出至少一个待扫描字段以及相应的数据筛选条件,所述方法还包括:
4.根据权利要求3所述的方法,其特征在于,所述数据扫描结果包括各个所述任务线程中累加器记录的累加结果,每个任务线程中累加器记录的累加结果包括该任务线程在每个待扫描字段中扫描到的目标数据的行数,所述接收所述多个执行器各自返回的数据扫描结果,包括:
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
6.根据权利要求5所述的方法,其特征在于,所述汇总各个所述任务线程返回的累加结果,得到最终扫描结果,包括:
7.根据权利要求6所述的方法,其特征在于,所述根据所述最终扫描结果,
8.一种数据扫描装置,其特征在于,应用于Spark框架中的驱动器,所述Spark框架包括所述驱动器以及与所述驱动器连接的多个执行器,其中,所述多个执行器分别配置在分布式数据库的各个数据节点上,所述装置包括:
9.一种电子设备,其特征在于,包括:
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7任一项所述的方法。
...【技术特征摘要】
1.一种数据扫描方法,其特征在于,应用于spark框架中的驱动器,所述spark框架包括所述驱动器以及与所述驱动器连接的多个执行器,其中,所述多个执行器分别配置在分布式数据库的各个数据节点上,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述将数据扫描任务信息分别发送至所述多个执行器,包括:
3.根据权利要求1或2所述的方法,其特征在于,所述数据扫描任务信息用于示出至少一个待扫描字段以及相应的数据筛选条件,所述方法还包括:
4.根据权利要求3所述的方法,其特征在于,所述数据扫描结果包括各个所述任务线程中累加器记录的累加结果,每个任务线程中累加器记录的累加结果包括该任务线程在每个待扫描字段中扫描到的目标数据的行数,所述接收所述多个执行器各自返回的数据扫描结果,包括:
【专利技术属性】
技术研发人员:郭忆,冯舟,吴俣,余利华,李卓豪,
申请(专利权)人:杭州网易数之帆科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。