本申请涉及数据处理技术,尤其涉及一种数据采样方法、装置、设备、介质及产品。
背景技术:
1、随着大数据和人工智能技术的发展,数据分析也越来也重要,而数据采样是数据分析中重要的一环,在不同场景中可能存在不同的数据采样需求。
2、sample子句可以对表以某个采样概率进行随机采样。但在对统计数据进行采样的场景中,如果先采用sample子句采样再进行统计,则会造成采样数据错误。如果直接采用sample子句对统计数据进行采样,由于数据库中往往存储的是未统计的基础数据,则需要先对基础数据进行统计获得数据统计表,才可以采用sample子句对统计数据表进行采样。这使得现目前对统计数据采样需要生成统计数据表,如果在采样后删除统计数据表,会增加用户进行数据采样时的操作步骤,影响用户体验。如果在采样后保留统计数据表,由于在基础数据发生变化后,统计数据也需要跟随基础数据变化,因此保留统计数据表会消耗数据库的存储资源和计算资源,浪费资源且影响数据库的性能。
3、综上,现目前的统计数据采样方法,由于需要通过统计数据表采样而存在无法兼顾用户体验和数据库性能的问题。
技术实现思路
1、本申请提供一种数据采样方法、装置、设备、介质及产品,用以解决现有技术中的统计数据采样方法无法兼顾用户体验和数据库性能的问题。
2、第一方面,本申请提供一种数据采样方法,包括:
3、获取用户输入的数据库查询语句;所述数据库查询语句包括查询列、查询对象和查询子句;
4、根据所述查询列、所述查询对象和所述查询子句,确定所述数据库查询语句是否满足对统计数据进行采样的预设条件;所述预设条件包括:所述查询对象为视图、所述查询子句对应的功能为随机采样、所述查询列能够在所述查询对象中查询到统计数据;
5、若确定所述数据库查询语句满足所述预设条件,则执行所述查询对象的定义语句,获取所述查询对象的中间结果集;
6、对所述中间结果集进行随机采样,获得样本数据集。
7、第二方面,本申请提供一种数据采样装置,包括:
8、第一获取模块,用于获取用户输入的数据库查询语句;所述数据库查询语句包括查询列、查询对象和查询子句;
9、确定模块,用于根据所述查询列、所述查询对象和所述查询子句,确定所述数据库查询语句是否满足对统计数据进行采样的预设条件;所述预设条件包括:所述查询对象为视图、所述查询子句对应的功能为随机采样、所述查询列能够在所述查询对象中查询到统计数据;
10、第二获取模块,用于若确定所述数据库查询语句满足所述预设条件,则执行所述查询对象的定义语句,获取所述查询对象的中间结果集;
11、采样模块,用于对所述中间结果集进行随机采样,获得样本数据。
12、第三方面,本申请提供一种数据库服务设备,包括:处理器以及与所述处理器通信连接的存储器;
13、所述存储器存储计算机执行指令;
14、所述处理器执行所述存储器存储的计算机执行指令,以实现如第一方面中所述的方法。
15、第四方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如第一方面中所述的方法。
16、第五方面,本申请提供一种计算机程序产品,所述计算机程序产品包括计算机程序,该计算机程序被处理器执行时实现如第一方面中所述的方法。
17、本申请提供的数据采样方法、装置、设备、介质及产品,通过获取用户输入的数据库查询语句;所述数据库查询语句包括查询列、查询对象和查询子句;根据所述查询列、所述查询对象和所述查询子句,确定所述数据库查询语句是否满足对统计数据进行采样的预设条件;所述预设条件包括:所述查询对象为视图、所述查询子句对应的功能为随机采样、所述查询列能够在所述查询对象中查询到统计数据;若确定所述数据库查询语句满足所述预设条件,则执行所述查询对象的定义语句,获取所述查询对象的中间结果集;对所述中间结果集进行随机采样,获得样本数据。由于根据查询列、查询对象和查询子句确定数据库查询语句是否满足对统计数据进行采样的预设条件,并在数据库查询语句满足所述预设条件时,执行被查询视图的定义语句,获取所述被查询视图的中间结果集。同时,由于视图可以对基础数据进行聚合获得统计数据,而定义视图时,数据库只会保存视图的定义语句而不会立即执行视图的定义语句,视图的定义语句执行后获得的中间结果集在数据库中为临时数据,不会长期占用数据库的存储资源和计算资源。因此,在确定数据库查询语句满足所述预设条件、用户需要对统计数据进行采样时,才执行查询对象的定义语句,获得查询对象的中间结果集,并对中间结果集进行随机采样,可以获得对统计数据采样的样本数据,并且,不需要在采样结束后删除视图定义,同时,视图定义不会占用数据库的计算资源,视图的中间结果集也不会长期占用数据库的存储资源和计算资源。综上,本申请能够在保障用户对统计数据进行采样时的用户体验的同时,节约数据库资源、保障数据库性能。
1.一种数据采样方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述根据所述查询列、所述查询对象和所述查询子句,确定所述数据库查询语句是否满足对统计数据进行采样的预设条件,包括:
3.根据权利要求2所述的方法,其特征在于,所述确定所述查询列是否能够在所述查询对象中查询到统计数据,包括:
4.根据权利要求2所述的方法,其特征在于,所述根据所述查询对象和多个预设视图标识确定所述查询对象是否为视图,包括:
5.根据权利要求1所述的方法,其特征在于,所述数据库查询语句还包括查询子句的参数,所述查询子句对应的功能为随机采样时,所述查询子句的参数为随机采样比例;所述中间结果集包括中间结果数据;
6.根据权利要求1-5任一项所述的方法,其特征在于,所述对所述中间结果集进行随机采样,获得样本数据集,之后还包括:
7.一种数据采样装置,其特征在于,包括:
8.一种数据库服务设备,其特征在于,包括:处理器,以及与所述处理器通信连接的存储器;
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1至6中任一项所述方法。
10.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时用于实现如权利要求1至6中任一项所述的方法。