CN109684419B - 一种基于大数据的数据立方体处理方法、装置及电子设备 - Google Patents
一种基于大数据的数据立方体处理方法、装置及电子设备 Download PDFInfo
- Publication number
- CN109684419B CN109684419B CN201811547105.3A CN201811547105A CN109684419B CN 109684419 B CN109684419 B CN 109684419B CN 201811547105 A CN201811547105 A CN 201811547105A CN 109684419 B CN109684419 B CN 109684419B
- Authority
- CN
- China
- Prior art keywords
- data cube
- dimension
- data
- target data
- original data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn - After Issue
Links
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明的实施例公开一种基于大数据的数据立方体处理方法、装置及电子设备,涉及大数据处理领域,有利于提高对数据立方体进行数据处理的速度。所述处理方法包括:根据各个用户选择的维度和度量生成各个原始数据立方体并存储各个原始数据立方体的元数据信息;将各原始数据立方体进行分类,得到不同类别的原始数据立方体集合;将各原始数据立方体集合进行归一化处理分别得到一个与其相对应的目标数据立方体,将目标数据立方体集合的元数据信息、目标数据立方体集合和原始数据立方体集合各个元素之间的映射关系存储到数据库;计算并压缩存储所述目标数据立方体1维到N维的所有数据。本发明实施例主要用于基于大数据集群HBase的数据立方体。
Description
技术领域
本发明涉及大数据处理领域,尤其涉及一种基于大数据的数据立方体处理方法、装置及电子设备。
背景技术
数据立方体(dataCube)是一类多维矩阵,让用户从多个角度探索和分析数据集。一个OLAP(在线分析处理***)构建的数据立方体由N个维度构成,立方体中包含了满足条件的cell(子立方块)值,这些cell里面包含了要分析的数据,称之为度量值。度量值为要分析展示的数据,即指标,可以对其进行多维分析。
数据立方体是一种用于数据分析和索引的技术架构,针对大数据的处理利器,可以对元数据进行任意多关键字实时索引。通过数据立方对元数据进行分析之后,可以大大加速数据的查询和检索效率。
传统的数据立方体技术只适用于中小数据量的技术实现,当数据达到大数据量(数亿、十亿、百亿,甚至万亿)时运行缓慢甚至无法生成结果。
发明内容
有鉴于此,本发明实施例提供一种基于大数据的数据立方体处理方法、装置及电子设备,有利于提高对数据立方体进行数据处理的速度。
第一方面,本发明实施例提供一种基于大数据的数据立方体处理方法,包括:提供多个维度和度量供用户选择;根据各个用户选择的维度和度量,生成各个原始数据立方体,并存储各个原始数据立方体的元数据信息;将各原始数据立方体进行分类,得到不同类别的原始数据立方体集合;将各原始数据立方体集合中的各原始数据立方体,进行归一化处理,分别得到目标数据立方体,每个目标数据立方体与一原始数据立方体集合相对应,所有的目标数据立方体组成目标数据立方体集合;将目标数据立方体集合的元数据信息、目标数据立方体集合和原始数据立方体集合各个元素之间的映射关系存储到数据库;计算所述目标数据立方体1维到N维的所有数据;压缩存储所述目标数据立方体1维到N维的所有数据。
在本发明实施例一的一实施方式中,所述将各原始数据立方体集合中的各原始数据立方体,进行归一化处理,分别得到目标数据立方体,包括:对原始数据立方体集合中的各原始数据立方体,计算维度的并集和度量的并集,根据计算得到的维度的并集和度量的并集,生成目标数据立方体。
在本发明实施例一的一实施方式中,所述将目标数据立方体集合的元数据信息、目标数据立方体集合和原始数据立方体集合各个元素之间的映射关系存储到数据库包括:对目标数据立方体的每个维度进行去重,将去重后的维度放到一个数组中,数组对应的下标当做对应生成字典树的key值;对目标数据立方体的维度进行组合去重,生成的维度组合映射上一步形成的单个字典树,最终形成维度的字典树;分别在内存中和mysql的cloumnkey中存储一份所述字典树。
在本发明实施例一的一实施方式中,所述计算所述目标数据立方体1维到N维的所有数据包括:利用MR框架计算所述字典树的N-1维数据汇总,再由N-1维,计算N-2维的数据,以此类推,重复迭代计算直至一维数据;所述压缩存储所述目标数据立方体1维到N维的所有数据包括:以行数或数据大小拆分所述数据为多份,使用Snappy压缩算法对每份数据进行压缩,存储所述压缩后的数据。
在本发明实施例一的一实施方式中,所述处理方法还包括:提供查询入口,所述查询入口供用户选择想要查看的原始数据立方体和输入查询条件;根据用户查询的原始数据立方体的维度信息查找对应的字典信息,根据字典中的key值在hbase中扫描过滤rowkey,根据扫描数据汇总计算值;展示所述计算值。
第二方面,本发明实施例二提供一种基于大数据的数据立方体处理装置,包括:用户选择模块,用于提供多个维度和度量供用户选择;响应模块,根据各个用户选择的维度和度量,生成各个原始数据立方体;第一存储模块,存储各个原始数据立方体的元数据信息;分类模块,将各原始数据立方体进行分类,得到不同类别的原始数据立方体集合;归一化模块,将各原始数据立方体集合中的各原始数据立方体,进行归一化处理,分别得到目标数据立方体,每个目标数据立方体与一原始数据立方体集合相对应,所有的目标数据立方体组成目标数据立方体集合;第二存储模块,将目标数据立方体集合的元数据信息、目标数据立方体集合和原始数据立方体集合各个元素之间的映射关系存储到数据库;数据计算模块,计算所述目标数据立方体1维到N维的所有数据;第三存储模块,压缩存储所述目标数据立方体1维到N维的所有数据。
在本发明实施例二的一实施方式中,所述归一化模块将各原始数据立方体集合中的各原始数据立方体,进行归一化处理,分别得到目标数据立方体,包括:对原始数据立方体集合中的各原始数据立方体,计算维度的并集和度量的并集,根据计算得到的维度的并集和度量的并集,生成目标数据立方体。
在本发明实施例二的一实施方式中,所述第二存储模块将目标数据立方体集合的元数据信息、目标数据立方体集合和原始数据立方体集合各个元素之间的映射关系存储到数据库包括:对目标数据立方体的每个维度进行去重,将去重后的维度放到一个数组中,数组对应的下标当做对应生成字典树的key值,对目标数据立方体的维度进行组合去重,生成的维度组合映射上一步形成的单个字典树,最终形成维度的字典树,分别在内存中和mysql的cloumn key中存储一份所述字典树;所述数据计算模块计算所述目标数据立方体1维到N维的所有数据包括:利用MR框架计算所述字典树的N-1维数据汇总,再由N-1维,计算N-2维的数据,以此类推,重复迭代计算直至一维数据;所述压缩存储所述目标数据立方体1维到N维的所有数据包括:以行数或数据大小拆分所述数据为多份,使用Snappy压缩算法对每份数据进行压缩,存储所述压缩后的数据。
在本发明实施例二的一实施方式中,所述数据处理装置还包括用户查询模块、查找模块和显示模块:用户查询模块,提供查询入口,所述查询入口供用户选择想要查看的原始数据立方体和输入查询条件;查找模块,用于根据用户查询的原始数据立方体的维度信息查找对应的字典信息,根据字典中的key值在hbase中扫描过滤rowkey,根据扫描数据汇总计算值;显示模块,用于展示所述计算值。
第三方面,本发明实施例提供一种电子设备,所述电子设备包括:壳体、处理器、存储器、电路板和电源电路,其中,电路板安置在壳体围成的空间内部,处理器和存储器设置在电路板上;电源电路,用于为上述电子设备的各个电路或器件供电;存储器用于存储可执行程序代码;处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行以下操作:提供多个维度和度量供用户选择;根据各个用户选择的维度和度量,生成各个原始数据立方体,并存储各个原始数据立方体的元数据信息;将各原始数据立方体进行分类,得到不同类别的原始数据立方体集合;将各原始数据立方体集合中的各原始数据立方体,进行归一化处理,分别得到目标数据立方体,每个目标数据立方体与一原始数据立方体集合相对应,所有的目标数据立方体组成目标数据立方体集合;将目标数据立方体集合的元数据信息、目标数据立方体集合和原始数据立方体集合各个元素之间的映射关系存储到数据库;计算所述目标数据立方体1维到N维的所有数据;压缩存储所述目标数据立方体1维到N维的所有数据。
本发明实施例提供的一种基于大数据的数据立方体处理方法、装置及电子设备,将用户选择生成的所有原始数据立方体进行分类,得到不同类别的原始数据立方体集合;各原始数据立方体集合经归一化处理后分别得到一个与其相对应的目标数据立方体,所有的目标数据立方体组成目标数据立方体集合;将目标数据立方体集合的元数据信息、目标数据立方体集合和原始数据立方体集合各个元素之间的映射关系存储到数据库;这样,所述目标数据立方体的数量明显少于所述原始数据立方体的数量,因此减少了整体计算资源、整体存储资源以及整体网络资源的消耗,提升了整体的计算速度。有利于实现基于大数据的对数据立方体进行数据处理,提高对数据立方体进行数据处理的速度。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本发明实施例一的基于大数据的数据立方体处理方法的流程图;
图2为本发明实施例电子设备一个实施例的结构示意图。
具体实施方式
应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
第一方面:
如图1为本发明实施例一种基于大数据的数据立方体处理方法的流程图,如图1所示,本实施例的方法可以包括:
步骤101、提供多个维度和度量供用户选择;
本实施例中,数据立方体(dataCube)是一类多维矩阵,让用户从多个角度探索和分析数据集。一个OLAP(在线分析处理***)构建的数据立方体由N个维度构成,立方体中包含了满足条件的cell(子立方块)值,这些cell里面包含了要分析的数据,称之为度量值。度量值为要分析展示的数据,即指标,可以对其进行多维分析。本实施例提供多种多样的Dimension(维度)、Measure(度量),用户可随意选择Dimension、灵活自定义Measure计算规则。
步骤102、根据各个用户选择的维度和度量,生成各个原始数据立方体,并存储各个原始数据立方体的元数据信息;
本实施例中,各用户每选择一次维度和度量,对应生成一个原始数据立方体,各用户可以定义一个或多个原始数据立方体;根据各个用户选择的维度和度量,对应生成各个原始数据立方体,并在关系数据库mysql中存储各个原始数据立方体的元数据信息。
步骤103、将各原始数据立方体进行分类,得到不同类别的原始数据立方体集合;
本实施例中,可以根据不同类别的用户或用户关心的维度和度量的不同将原始数据立方体进行分类,得到不同类别的原始数据立方体集合。例如:根据定义原始数据立方体的用户的业务类型,将各原始数据立方体分为用户类、订单类、网站行为类的各原始数据立方体集合。
可以理解的是,对各原始数据立方体进行分类的具体方法可根据需要自行设定,本实施例对此不做限定。
步骤104、将各原始数据立方体集合中的各原始数据立方体,进行归一化处理,分别得到目标数据立方体,每个目标数据立方体与一原始数据立方体集合相对应,所有的目标数据立方体组成目标数据立方体集合;
本实施例中,各原始数据立方体集合经归一化处理后分别得到一个与其相对应的目标数据立方体,所述目标数据立方体的数量明显少于所述原始数据立方体的数量,因此减少了整体计算资源、整体存储资源以及整体网络资源的消耗,提升了整体的计算速度。有利于实现基于大数据的对数据立方体进行数据处理,提高对数据立方体进行数据处理的速度。
作为本实施例的一可选实施方式,所述将各原始数据立方体集合中的各原始数据立方体,进行归一化处理,分别得到目标数据立方体,包括:对原始数据立方体集合中的各原始数据立方体,计算维度的并集和度量的并集,根据计算得到的维度的并集和度量的并集,生成目标数据立方体。
本实施例中,所述目标数据立方体包含了其对应的原始数据立方体集合中的所有维度和度量,实现了对原始数据立方体集合归一化的过程中元数据的保留。
步骤105、将目标数据立方体集合的元数据信息、目标数据立方体集合和原始数据立方体集合各个元素之间的映射关系存储到数据库;
本实施例中,在对原始数据立方体的数据信息进行查找时,可根据目标数据立方体集合和原始数据立方体集合各个元素之间的映射关系,在目标数据立方体中查找到原始数据立方体的数据信息。
在本实施例一可选实施方式中,所述将目标数据立方体集合的元数据信息、目标数据立方体集合和原始数据立方体集合各个元素之间的映射关系存储到数据库包括:对目标数据立方体的每个维度进行去重,将去重后的维度放到一个数组中,数组对应的下标当做对应生成字典树的key值;对目标数据立方体的维度进行组合去重,生成的维度组合映射上一步形成的单个字典树,最终形成维度的字典树;分别在内存中和mysql的cloumn key中存储一份所述字典树。
本实施例中,首先对目标数据立方体的每个维度进行去重,将去重后的维度放到一个数组中,数组对应的下标当做对应生成字典树的key值;然后对目标数据立方体的维度进行组合去重,具体的,首先对N个维度中的每N-1个维度进行组合去重,生成的维度组合映射上一步形成的单个字典树,然后对N个维度中的每N-2个维度进行组合去重,生成的维度组合映射上一步形成的单个字典树,以此类推,最终形成维度的字典树;在通过维度查询原始数据立方体的数据信息时,所述字典树利用字符串的公共前缀来减少查询时间,最大限度地减少无谓的字符串比较,提高了查询效率。
本实施例中,对维度计算不重复值的算法是以基数统计hyperloglog算法为基础,进行的本场景下的算法二次优化改进,通过分割哈希输入流成m个子字符串,并对每个子输入流保持m的值可观测,利用额外的观测值的平均值,产生一个计数器,估算Nmax为基数的数据集仅需使用loglog(Nmax)+O(1)bits,可根据用户指定的精度值计算数据。仅使用1.5kb的空间即可对十亿个不同的数据元素进行去重计算,并控制精度在98%以内,大部分场景精度为99.2以上。
所述在内存中存储一份所述字典树,用于计算所述目标数据立方体1维到N维的所有数据;所述在mysql的cloumn key中存储一份所述字典树,用于后续用户查询原始数据立方体时使用,节省了用户重新定义原始数据立方体的时间和***重建原始数据立方体和目标数据立方体的时间。
步骤106、计算所述目标数据立方体1维到N维的所有数据;
在本实施例的一可选实施方式中,所述计算所述目标数据立方体1维到N维的所有数据包括:利用MR(Map/Reduce)框架计算所述字典树的N-1维数据汇总,再由N-1维,计算N-2维的数据,以此类推,重复迭代计算直至一维数据;
本实施例中,Map/Reduce是一个用于大规模数据处理的分布式计算模型,Map/Reduce是一个编程模型(programming model),是一个用于处理和生成大规模数据集(processing and generating large data sets)的相关的实现。用户定义一个map函数来处理一个key/value对以生成一批中间的key/value对,再定义一个reduce函数将所有这些中间的有着相同key的values合并起来。本实施例中利用MR框架计算所述字典树N-1维到1维数据也是基于这个原理实现的,整个降维操作的时间代价为log(N)。
可选的,在本步计算数据时,会同步对输入的脏数据进行处理,处理类型有过滤(丢弃不符合要求数据)、转换(把不符合要求数据转换为默认值),也可以由用户增加处理规则。
本实施例中,判断是否为脏数据的规则主要有:整数型的数字,里面必须是整数,否则为脏数据;浮点型的数字,里面必须是小数,否则为脏数据;限制范围型的数据,里面必须为规定范围的数据,比如性别里面只能包含男或女;日期、时间型的数据,里面必须为日期、时间,否则为脏数据。
本实施例对数据容错性提供多样化解决方案,在数据运算过程中,会自动检测是否是脏数据,检测到脏数据时智能化的对脏数据进行转换处理,也可以同时灵活的由用户增加处理规则。
步骤107、压缩存储所述目标数据立方体1维到N维的所有数据。
本实施例中,可选的,所述压缩存储所述目标数据立方体1维到N维的所有数据包括:以行数或数据大小拆分所述数据为多份,例如:数据总行数为一百万行、1280M大小,会有两种拆分方案可选:以十万行为一份,拆分为十份数据,每一份单独压缩,得到十份压缩后的数据,每份数据包含十万行;以128M为一份,拆分为十份数据,每一份单独压缩,得到十份压缩后的数据,每份数据包含的原始数据是128M(每份数据包含的行数可能少于十万行也可能多余十万行)。使用Snappy压缩算法对每份数据进行压缩,存储所述压缩后的数据到hbase。
本实施例中,实现了基于混合式“行+列”存储的存储方案,使用参考LZSS编码方案的Snappy算法对列数据进行解压缩,相比传统的行存储,能提升三到四倍性能,数据部分场景下最高压缩至原有数据的20.6%。
相对于简单的行存储,本方案开发的混合式“行+列”存储压缩,由于同字段中数据范围小得多,压缩比更高,在部分场景的分析主题中,可以压缩79.4%,极大的减少了存储空间的使用。
相对于简单的使用列存储,本方案开发的混合式“行+列”存储压缩,有效的解决了有主键(单主键或联合主键)的情况下快速按范围展现数据的问题。能够毫秒级的定位范围搜索,能快速筛选提取数据。
在本发明实施例的一可选实施方式中,所述数据处理方法还包括:
步骤201、提供查询入口,所述查询入口供用户选择想要查看的原始数据立方体和输入查询条件;
本实施例中,所述查询入口提供用户定义过的原始数据立方体供用户选择,在用户想要查看之前定义过的原始数据立方体时,通过所述查询入口选择想要查看的原始数据立方体即可;另外,所述查询入口还提供多个维度和度量供用户定义新的原始数据立方体,在用户想要查询新的原始数据立方体的信息时,通过所述查询入口选择维度和度量即可。
步骤202、根据用户查询的原始数据立方体的维度信息查找对应的字典信息,根据字典中的key值在hbase中扫描过滤cloumn key,根据扫描数据汇总计算值;
本实施例中,用户通过所述查询入口选择想要查看的原始数据立方体,***根据字典信息和用户查询的原始数据立方体查找目标数据立方体,并根据原始数据立方体包含的维度和度量字段确定目标数据立方体中对应的维度和度量字段,然后***再次根据目标数据立方体以及维度和度量信息查询字典信息,确定在hbase中存储数据的表信息。确定了hbase中的表信息之后,查询表中的数据,返回给用户。查询hbase表中的数据时,根据rowkey进行查询,rowkey根据业务场景进行了专门的优化,提升了查询效率。
步骤203、展示所述计算值。
本实施例中,提供实时可视化展现。
第二方面,本发明实施例二提供一种基于大数据的数据立方体处理装置,包括:用户选择模块,用于提供多个维度和度量供用户选择;响应模块,根据各个用户选择的维度和度量,生成各个原始数据立方体;第一存储模块,存储各个原始数据立方体的元数据信息;分类模块,将各原始数据立方体进行分类,得到不同类别的原始数据立方体集合;归一化模块,将各原始数据立方体集合中的各原始数据立方体,进行归一化处理,分别得到目标数据立方体,每个目标数据立方体与一原始数据立方体集合相对应,所有的目标数据立方体组成目标数据立方体集合;第二存储模块,将目标数据立方体集合的元数据信息、目标数据立方体集合和原始数据立方体集合各个元素之间的映射关系存储到数据库;数据计算模块,计算所述目标数据立方体1维到N维的所有数据;第三存储模块,压缩存储所述目标数据立方体1维到N维的所有数据。
在本发明实施例二的一可选实施方式中,所述归一化模块将各原始数据立方体集合中的各原始数据立方体,进行归一化处理,分别得到目标数据立方体,包括:对原始数据立方体集合中的各原始数据立方体,计算维度的并集和度量的并集,根据计算得到的维度的并集和度量的并集,生成目标数据立方体。
在本发明实施例二的一可选实施方式中,所述第二存储模块将目标数据立方体集合的元数据信息、目标数据立方体集合和原始数据立方体集合各个元素之间的映射关系存储到数据库包括:对目标数据立方体的每个维度进行去重,将去重后的维度放到一个数组中,数组对应的下标当做对应生成字典树的key值,对目标数据立方体的维度进行组合去重,生成的维度组合映射上一步形成的单个字典树,最终形成维度的字典树,分别在内存中和mysql的cloumn key中存储一份所述字典树;所述数据计算模块计算所述目标数据立方体1维到N维的所有数据包括:利用MR框架计算所述字典树的N-1维数据汇总,再由N-1维,计算N-2维的数据,以此类推,重复迭代计算直至一维数据;所述压缩存储所述目标数据立方体1维到N维的所有数据包括:以行数或数据大小拆分所述数据为多份,使用Snappy压缩算法对每份数据进行压缩,存储所述压缩后的数据。
在本发明实施例二的一可选实施方式中,所述数据处理装置还包括用户查询模块、查找模块和显示模块:用户查询模块,提供查询入口,所述查询入口供用户选择想要查看的原始数据立方体和输入查询条件;查找模块,用于根据用户查询的原始数据立方体的维度信息查找对应的字典信息,根据字典中的key值在hbase中扫描过滤rowkey,根据扫描数据汇总计算值;显示模块,用于展示所述计算值。
本实施例的装置,可以用于执行图1所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
第三方面,本发明实施例三提供一种电子设备,图2为本发明电子设备一个实施例的结构示意图,可以实现本发明图1所示实施例的流程,如图2所示,上述电子设备可以包括:壳体31、处理器32、存储器33、电路板34和电源电路35,其中,电路板34安置在壳体31围成的空间内部,处理器32和存储器33设置在电路板34上;电源电路35,用于为上述电子设备的各个电路或器件供电;存储器33用于存储可执行程序代码;处理器32通过读取存储器33中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行前述任一实施例所述的一种基于大数据的数据立方体处理方法。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (9)
1.一种基于大数据的数据立方体处理方法,其特征在于,包括:
提供多个维度和度量供用户选择;
根据各个用户选择的维度和度量,生成各个原始数据立方体,并存储各个原始数据立方体的元数据信息;
将各原始数据立方体进行分类,得到不同类别的原始数据立方体集合;
将各原始数据立方体集合中的各原始数据立方体,进行归一化处理,分别得到目标数据立方体,所述归一化处理包括对原始数据立方体集合中的各原始数据立方体,计算维度的并集和度量的并集,根据计算得到的维度的并集和度量的并集,生成目标数据立方体,每个目标数据立方体与一原始数据立方体集合相对应,所有的目标数据立方体组成目标数据立方体集合;
将目标数据立方体集合的元数据信息、目标数据立方体集合和原始数据立方体集合各个元素之间的映射关系存储到数据库,包括对目标数据立方体的每个维度进行去重,其中对维度计算不重复值的算法选择以基数统计hyperloglog算法为基础,进行算法二次优化改进,通过分割哈希输入流成m个子字符串,并对每个子输入流保持m的值可观测,利用额外的观测值的平均值,产生一个计数器;
计算所述目标数据立方体1维到N维的所有数据,包括对数据容错性提供多样化解决方案,会同步对输入的脏数据进行处理,处理类型有过滤、转换;
压缩存储所述目标数据立方体1维到N维的所有数据,包括以行数或数据大小拆分所述数据为多份,实现基于混合式“行+列”存储压缩。
2.根据权利要求1所述的处理方法,其特征在于,所述将目标数据立方体集合的元数据信息、目标数据立方体集合和原始数据立方体集合各个元素之间的映射关系存储到数据库包括:
对目标数据立方体的每个维度进行去重,将去重后的维度放到一个数组中,数组对应的下标当做对应生成字典树的key值;
对目标数据立方体的维度进行组合去重,生成的维度组合映射上一步形成的单个字典树,最终形成维度的字典树;
分别在内存中和mysql的cloumn key中存储一份所述字典树。
3.根据权利要求2所述的处理方法,其特征在于:
所述计算所述目标数据立方体1维到N维的所有数据包括:利用MR框架计算所述字典树的N-1维数据汇总,再由N-1维,计算N-2维的数据,以此类推,重复迭代计算直至一维数据;
所述压缩存储所述目标数据立方体1维到N维的所有数据包括:以行数或数据大小拆分所述数据为多份,使用Snappy压缩算法对每份数据进行压缩,存储压缩后的数据。
4.根据权利要求3所述的处理方法,其特征在于,所述处理方法还包括:
提供查询入口,所述查询入口供用户选择想要查看的原始数据立方体和输入查询条件;
根据用户查询的原始数据立方体的维度信息查找对应的字典信息,根据字典中的key值在hbase中扫描过滤rowkey, 根据扫描数据汇总计算值;
展示所述计算值。
5.一种基于大数据的数据立方体处理装置,其特征在于,包括:
用户选择模块,用于提供多个维度和度量供用户选择;
响应模块,根据各个用户选择的维度和度量,生成各个原始数据立方体;
第一存储模块,存储各个原始数据立方体的元数据信息;
分类模块,将各原始数据立方体进行分类,得到不同类别的原始数据立方体集合;
归一化模块,将各原始数据立方体集合中的各原始数据立方体,进行归一化处理,分别得到目标数据立方体,所述归一化处理包括对原始数据立方体集合中的各原始数据立方体,计算维度的并集和度量的并集,根据计算得到的维度的并集和度量的并集,生成目标数据立方体,每个目标数据立方体与一原始数据立方体集合相对应,所有的目标数据立方体组成目标数据立方体集合;
第二存储模块,将目标数据立方体集合的元数据信息、目标数据立方体集合和原始数据立方体集合各个元素之间的映射关系存储到数据库,包括对目标数据立方体的每个维度进行去重,其中对维度计算不重复值的算法选择以基数统计hyperloglog算法为基础,进行算法二次优化改进,通过分割哈希输入流成m个子字符串,并对每个子输入流保持m的值可观测 ,利用额外的观测值的平均值,产生一个计数器;
数据计算模块,计算所述目标数据立方体1维到N维的所有数据,包括对数据容错性提供多样化解决方案,会同步对输入的脏数据进行处理,处理类型有过滤、转换;
第三存储模块,压缩存储所述目标数据立方体1维到N维的所有数据,包括以行数或数据大小拆分所述数据为多份,实现基于混合式“行+列”存储压缩。
6.根据权利要求5所述的处理装置,其特征在于,所述归一化模块将各原始数据立方体集合中的各原始数据立方体,进行归一化处理,分别得到目标数据立方体,包括:
对原始数据立方体集合中的各原始数据立方体,计算维度的并集和度量的并集,根据计算得到的维度的并集和度量的并集,生成目标数据立方体。
7.根据权利要求5所述的处理装置,其特征在于:
所述第二存储模块将目标数据立方体集合的元数据信息、目标数据立方体集合和原始数据立方体集合各个元素之间的映射关系存储到数据库包括:对目标数据立方体的每个维度进行去重,将去重后的维度放到一个数组中,数组对应的下标当做对应生成字典树的key值,对目标数据立方体的维度进行组合去重,生成的维度组合映射上一步形成的单个字典树,最终形成维度的字典树,分别在内存中和mysql的cloumn key中存储一份所述字典树;
所述数据计算模块计算所述目标数据立方体1维到N维的所有数据包括:利用MR框架计算所述字典树的N-1维数据汇总,再由N-1维,计算N-2维的数据,以此类推,重复迭代计算直至一维数据;
所述压缩存储所述目标数据立方体1维到N维的所有数据包括:以行数或数据大小拆分所述数据为多份,使用Snappy压缩算法对每份数据进行压缩,存储压缩后的数据。
8.根据权利要求5所述的处理装置,其特征在于,所述处理装置还包括用户查询模块、查找模块和显示模块:
用户查询模块,提供查询入口,所述查询入口供用户选择想要查看的原始数据立方体和输入查询条件;
查找模块,用于根据用户查询的原始数据立方体的维度信息查找对应的字典信息,根据字典中的key值在hbase中扫描过滤rowkey, 根据扫描数据汇总计算值;
显示模块,用于展示所述计算值。
9.一种电子设备,其特征在于,所述电子设备包括:壳体、处理器、存储器、电路板和电源电路,其中,电路板安置在壳体围成的空间内部,处理器和存储器设置在电路板上;电源电路,用于为上述电子设备的各个电路或器件供电;存储器用于存储可执行程序代码;处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行以下操作:
提供多个维度和度量供用户选择;
根据各个用户选择的维度和度量,生成各个原始数据立方体,并存储各个原始数据立方体的元数据信息;
将各原始数据立方体进行分类,得到不同类别的原始数据立方体集合;
将各原始数据立方体集合中的各原始数据立方体,进行归一化处理,分别得到目标数据立方体,所述归一化处理包括对原始数据立方体集合中的各原始数据立方体,计算维度的并集和度量的并集,根据计算得到的维度的并集和度量的并集,生成目标数据立方体,每个目标数据立方体与一原始数据立方体集合相对应,所有的目标数据立方体组成目标数据立方体集合;
将目标数据立方体集合的元数据信息、目标数据立方体集合和原始数据立方体集合各个元素之间的映射关系存储到数据库,包括对目标数据立方体的每个维度进行去重,其中对维度计算不重复值的算法选择以基数统计hyperloglog算法为基础,进行算法二次优化改进,通过分割哈希输入流成m个子字符串,并对每个子输入流保持m的值可观测 ,利用额外的观测值的平均值,产生一个计数器;
计算所述目标数据立方体1维到N维的所有数据,包括对数据容错性提供多样化解决方案,会同步对输入的脏数据进行处理,处理类型有过滤、转换;
压缩存储所述目标数据立方体1维到N维的所有数据,包括以行数或数据大小拆分所述数据为多份,实现基于混合式“行+列”存储压缩。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811547105.3A CN109684419B (zh) | 2018-12-17 | 2018-12-17 | 一种基于大数据的数据立方体处理方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811547105.3A CN109684419B (zh) | 2018-12-17 | 2018-12-17 | 一种基于大数据的数据立方体处理方法、装置及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109684419A CN109684419A (zh) | 2019-04-26 |
CN109684419B true CN109684419B (zh) | 2023-10-03 |
Family
ID=66186355
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811547105.3A Withdrawn - After Issue CN109684419B (zh) | 2018-12-17 | 2018-12-17 | 一种基于大数据的数据立方体处理方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109684419B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130166498A1 (en) * | 2011-12-25 | 2013-06-27 | Microsoft Corporation | Model Based OLAP Cube Framework |
CN105843842A (zh) * | 2016-03-08 | 2016-08-10 | 东北大学 | 一种大数据环境下多维聚集查询与展示***及方法 |
CN108829707A (zh) * | 2018-05-02 | 2018-11-16 | 国网浙江省电力有限公司信息通信分公司 | 跨业务域的大数据智能分析***及方法 |
-
2018
- 2018-12-17 CN CN201811547105.3A patent/CN109684419B/zh not_active Withdrawn - After Issue
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130166498A1 (en) * | 2011-12-25 | 2013-06-27 | Microsoft Corporation | Model Based OLAP Cube Framework |
CN105843842A (zh) * | 2016-03-08 | 2016-08-10 | 东北大学 | 一种大数据环境下多维聚集查询与展示***及方法 |
CN108829707A (zh) * | 2018-05-02 | 2018-11-16 | 国网浙江省电力有限公司信息通信分公司 | 跨业务域的大数据智能分析***及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109684419A (zh) | 2019-04-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110633292B (zh) | 一种异构数据库的查询方法、装置、介质、设备及*** | |
US8533203B2 (en) | Identifying synonyms of entities using a document collection | |
US7765216B2 (en) | Multidimensional analysis tool for high dimensional data | |
US11036685B2 (en) | System and method for compressing data in a database | |
US7870114B2 (en) | Efficient data infrastructure for high dimensional data analysis | |
CN108376143B (zh) | 一种新型的olap预计算***及生成预计算结果的方法 | |
WO2021047373A1 (zh) | 基于大数据的列数据处理方法、设备及介质 | |
CN112286961B (zh) | Sql优化查询方法及装置 | |
US20220005546A1 (en) | Non-redundant gene set clustering method and system, and electronic device | |
CN112800213A (zh) | 医学文本信息显示方法、装置及电子设备 | |
CN111400323A (zh) | 数据检索方法、***、设备及存储介质 | |
Huang et al. | Effective data co-reduction for multimedia similarity search | |
CN114139040A (zh) | 一种数据存储及查询方法、装置、设备及可读存储介质 | |
US20230124432A1 (en) | Database Indexing Using Structure-Preserving Dimensionality Reduction to Accelerate Database Operations | |
CN111143400B (zh) | 一种全栈式检索方法、***、引擎及电子设备 | |
CN110083731B (zh) | 图像检索方法、装置、计算机设备及存储介质 | |
CN115048469A (zh) | 数据查询方法、装置、电子设备及存储介质 | |
US20210209122A1 (en) | Information push method and apparatus, device, and storage medium | |
CN110874366A (zh) | 数据处理、查询方法和装置 | |
CN109684419B (zh) | 一种基于大数据的数据立方体处理方法、装置及电子设备 | |
RU2417424C1 (ru) | Способ компрессии многомерных данных для хранения и поиска информации в системе управления базами данных и устройство для его осуществления | |
JP2001022766A (ja) | 多次元データベースの高速処理方法および装置 | |
US10387466B1 (en) | Window queries for large unstructured data sets | |
US11734244B2 (en) | Search method and search device | |
CN116028519A (zh) | 一种数据筛选方法、装置、电子设备及可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20190426 |
|
GR01 | Patent grant | ||
GR01 | Patent grant |