CN105488231B - 一种基于自适应表维度划分的大数据处理方法 - Google Patents
一种基于自适应表维度划分的大数据处理方法 Download PDFInfo
- Publication number
- CN105488231B CN105488231B CN201610046015.0A CN201610046015A CN105488231B CN 105488231 B CN105488231 B CN 105488231B CN 201610046015 A CN201610046015 A CN 201610046015A CN 105488231 B CN105488231 B CN 105488231B
- Authority
- CN
- China
- Prior art keywords
- dimension
- data
- sub
- dimensions
- tables
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/215—Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24553—Query execution of query operations
- G06F16/24558—Binary matching operations
- G06F16/2456—Join operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/248—Presentation of query results
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Quality & Reliability (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于自适应表维度划分的大数据处理方法,包括以下步骤,S1:根据用户需求配置并接入数据源生成多张所需的数据表并导入数据仓库;S2:对所生成的数据表进行数据清洗操作;S3:对数据表进行数据预处理操作并将预处理后的结果信息预先存储在列式数据库中;S4:根据预先存储在数据库的结果信息进行数据查询操作。采用本发明的技术方案,能够根据所导入数据表的维度数自动划分为多个子维度,从而能够有效降低维度数,能够达到维度的快速分析且存储空间占用少;同时设置维度支持度集合,能够根据用户的查询操作统计维度间的支持度,自动将关联密切的维度放在一个子维度中,从而大大降低了数据处理量。
Description
技术领域
本发明涉及大数据查询分析技术领域,尤其涉及一种基于自适应表维度划分的大数据处理方法。
背景技术
随着信息化社会的到来,全球数据的规模以一种爆炸式的形式快速增长,所谓的“大数据时代”已经到来,伴随着产生的海量数据,一方面是传统数据处理方式已经无法满足如此大规模数据量的情况下进行快速分析处理;另一方面是在这海量数据中存在的宝贵数据价值亟待挖掘。而在这一背景下,如何实现大数据的快速分析查询是本领域亟待解决的一个技术问题,主要包括以下两方面:1、大数据平台中数据的存储管理方式多种多样,如何设计一个能够适应大多数业务需求,并且以尽可能少的存储空间进行存储,同时设计能够支持快速分析的数据结构也是一个难点;2、针对许多大数据分析工具高延时的特点,如何能够对其进行一定程度的处理使其能够以较少的代价获得实时分析查询的能力也依然值得研究。
在实际应用中,比如在超大规模、超高维度的数据仓库上执行复杂的数据查询时,查询响应时间会影响到用户的体验,必须满足交互环境的需要。为了缩短查询响应时间,现有技术通常引入视图实例化Cube,但一个d维的data Cube可以生成2d个聚集Cuboids和个聚集数据单元,因此,Cube中的元组个数往往是基表(base table)的几百倍或几千倍,要占用GB甚至是PB级的存储空间需要花费很长的计算和维护时间。
故,针对目前现有技术中存在的上述缺陷,实有必要进行研究,以提供一种方案,解决现有技术中存在的缺陷。
发明内容
有鉴于此,确有必要提供一种基于自适应表维度划分的大数据处理方法,能够根据大数据存储表的维度数进行自动划分,从而有效降低维度数,解决高维数据分析速度慢的缺点。
为了克服现有技术存在的缺陷,本发明提供以下技术方案:
一种基于自适应表维度划分的大数据处理方法,包括以下步骤:
步骤S1:根据用户需求配置并接入数据源生成多张所需的数据表并导入数据仓库,每张数据表具有唯一的tableName;
步骤S2:对所生成的数据表进行数据清洗操作;
步骤S3:对数据表进行数据预处理操作并将预处理后的结果信息预先存储在列式数据库中,该步骤进一步包括以下步骤:
步骤S31:对数据表中每一条记录标记唯一的编号TID,并按列划分为多个维度,记维度D={D1,D2,D3…Dm…DDN|m≤DN},需计算的指标M={M1,M2,M3…MMN},其中数据量为TQ、维度数DN、增量记录数IN、指标数MN;
步骤S32:将维度D划分成r个子维度,记作R={R1,R2,R3…Rr},其中Ri代表第i个子维度包含的维度数,其中,r满足如下约束条件:DN%r=0,DN/r!=1,若没有这样的r,则查找最接近DN的合数DNC,使得DNC%r=0,DNC/r!=1,并且取ΔX=DNC-DN,产生的新的r个子维度,记作R′={R1′,R2′,R3′…Rr′}且满足
若最终有多个满足条件的r,则取其中最小值;
步骤S33:设置维度支持度集合SUP,SUP={aij|i,j∈[1,DN],i>j,aij=1},其中,二维数组aij表示维度Di与Dj的支持度;所述维度支持度集合根据用户查询操作进行数据更新;
步骤S34:根据所述维度支持度集合对已划分好的r个子维度进行相应调整,将支持度关联最密切的维度放在同一个子维度中;
步骤S35:对于每个子维度内的维度Ri,对所有指标M,采用完全聚合的方式生成所有结果集RSi并存储在子维度划分表中,其中,每一个结果都是一个二元组AG=(AR,M),AR代表Ri的一种排列,M为指标集合,然后将AG中每个元素作为一列,按列存储在数据库中;
步骤S36:根据原数据表中的记录编号TID,生成维度映射表,该维度映射表是以唯一子维度编号DID关联子维度和TID的关系,同时以AR中所有子维度名称+DID作为行键;
步骤S4:根据预先存储在数据库的结果信息进行数据查询操作,该步骤进一步包括:
步骤S41:接收用户输入的查询参数,所述查询参数包括维度dim、指标mes、展示方式viewType以及查找的表tableName;
步骤S42:根据维度dim和指标mes生成查询的组合,记作SC={dim,mes};
步骤S43:根据生成查询的组合查找维度划分表,寻找dim维度所涉及到的子维度DS,记DS={ds|ds∈dim∩R},获取包含dim中维度最多的子维度ds,在该子维度ds的维度划分表中直接获取结果信息;
步骤S44:对于不包括在子维度ds的其他维度,通过维度映射表查找原数据表:首先得到子维度ds的维度编号DID,根据DID查找原数据表中关联的TID,对所有满足条件的TID,按照dim指定的维度记录进行聚合,得到计算后的结果;
步骤S45:对查找的维度中每个维度d(d∈dim),增加其与其他维度的支持度,并写入维度支持度二维数组中;
步骤S46:将所有结果信息value转换成图表数据格式,并进行图表格式封装,然后返回前台展示。
优选地,在所述步骤S33中,所述维度支持度集合中任一个二维数组aij的初始值都为1;
对维度支持度集合做倒数,得到新的距离数组DST={bij|bij=1/aij,aij∈SUP},再使用K-Means算法将其聚类为r个子类别。
优选地,在所述步骤S32中,若数据量TQ小于数据量阈值Tmax,将数据按列划分,每一列为一个维度,记维度Di中的数据为DT={d1,d2,d3…dn|DT∈D,n=TQ},对于dj(1≤j≤n),若其为空值或无效默认值,则不进行存储,否则将其存储在j行i列中;若该表含有主键,则以主键名作为行键,否则对数据产生自增ID作为行键进行记录的唯一性区分。
优选地,若维度数DN小于维度数阈值Dmax,对D中所有维度Di及所有指标M,采用完全聚合的方式生成所有结果集RS,其中RS={AG|AG=(AR,M)},其中AR代表Di的一种排列,M为指标集合;根据其在原表中的记录编号TID,以AR中所有维度值作为行键,然后将AG中每个元素作为一列,按列存储在数据库中。
优选地,在所述步骤S43中,根据dim对数据库中行键进行过滤,寻找满足条件的行键rowKey,然后根据dim、mes和rowKey查找行中对应的列值columnValue,将列中值进行拼接。
优选地,在所述步骤S42中,根据SC中的dim和mes进行解析生成查询语句在数据库中进行查询。
优选地,在所述步骤S2中,产生针对导入数据仓库的数据表的清洗操作,并生成一个定时、定期的清洗任务。
优选地,在所述步骤S1中,采取等量切分方法划分记录块,并对每一块记录采取并行导入方法进行传输
与现有技术相比较,本发明的技术方案,能够根据所导入数据表的维度数自动划分为多个子维度,从而能够有效降低维度数,能够达到维度的快速分析存储且占用较少存储空间;同时设置维度支持度集合,能够根据用户的查询操作统计维度间的支持度,从而能够自动将关联密切的维度放在一个子维度中,大大降低了数据处理量。
附图说明
图1是本发明一种基于自适应表维度划分的大数据处理方法的流程框图。
图2是本发明一种基于自适应表维度划分的大数据处理方法中步骤S3的详细流程框图。
图3是本发明一种基于自适应表维度划分的大数据处理方法中步骤S4的详细流程框图。
图4是本发明一种基于自适应表维度划分的大数据处理方法中数据抽取、分析流程图。
图5是本发明一种基于自适应表维度划分的大数据处理方法中多维表划分算法流程图。
图6是本发明一种基于自适应表维度划分的大数据处理方法中高维数据维度划分存储结构示意图。
图7是本发明一种基于自适应表维度划分的大数据处理方法中数据查询的详细流程图。
如下具体实施例将结合上述附图进一步说明本发明。
具体实施方式
以下将结合附图和实施例对本发明作进一步说明。
参见图1,所示为本发明一种基于自适应表维度划分的大数据处理方法的流程框图,包括以下步骤:
步骤S1:根据用户需求配置并接入数据源生成多张所需的数据表并导入数据仓库,每张数据表具有唯一的tableName;
步骤S2:对所生成的数据表进行数据清洗操作;
步骤S3:对数据表进行数据预处理操作并将预处理后的结果信息预先存储在列式数据库中;
步骤S4:根据预先存储在数据库的结果信息进行数据查询操作。
参见图2,所示为本发明一种基于自适应表维度划分的大数据处理方法中步骤S3的详细流程框图,该步骤进一步包括以下步骤:
步骤S31:对数据表中每一条记录标记唯一的编号TID,并按列划分为多个维度,记维度D={D1,D2,D3…Dm…DDN|m≤DN},需计算的指标M={M1,M2,M3…MMN},其中数据量为TQ、维度数DN、增量记录数IN、指标数MN;
步骤S32:将维度D划分成r个子维度,记作R={R1,R2,R3…Rr},其中Ri代表第i个子维度包含的维度数,其中,r满足如下约束条件:DN%r=0,DN/r!=1,若没有这样的r,则查找最接近DN的合数DNC,使得DNC%r=0,DNC/r!=1,并且取ΔX=DNC-DN,产生的新的r个子维度,记作R′={R1′,R2′,R3′…Rr′}且满足
若最终有多个满足条件的r,则取其中最小值;
步骤S33:设置维度支持度集合SUP,SUP={aij|i,j∈[1,DN],i>j,aij=1},其中,二维数组aij表示维度Di与Dj的支持度;所述维度支持度集合根据用户查询操作进行数据更新;
步骤S34:根据所述维度支持度集合对已划分好的r个子维度进行相应调整,将支持度关联最密切的维度放在同一个子维度中;
步骤S35:对于每个子维度内的维度Ri,对所有指标M,采用完全聚合的方式生成所有结果集RSi并存储在子维度划分表中,其中,每一个结果都是一个二元组AG=(AR,M),AR代表Ri的一种排列,M为指标集合;
步骤S36:根据原数据表中的记录编号TID,生成维度映射表,以唯一子维度编号DID关联子维度和TID的关系,同时以AR中所有子维度名称+DID作为行键,然后将AG中每个元素作为一列,按列存储在数据库中,同时将划分的r个子维度及其中的维度信息存储在维度映射表中;
参见图3,所示为本发明一种基于自适应表维度划分的大数据处理方法中步骤S4的流程框图,该步骤进一步包括:
步骤S41:接收用户输入的查询参数,所述查询参数包括维度dim、指标mes、展示方式viewType以及查找的表tableName;
步骤S42:根据维度dim和指标mes生成查询的组合,记作SC={dim,mes};
步骤S43:根据生成查询的组合查找维度划分表,寻找dim维度所涉及到的子维度DS,记DS={ds|ds∈dim∩R},获取包含dim中维度最多的子维度ds,在该子维度ds的维度划分表中直接获取结果信息;
步骤S44:对于不包括在子维度ds的其他维度,通过维度映射表查找原数据表:首先得到子维度ds的维度编号DID,根据DID查找原数据表中关联的TID,对所有满足条件的TID,按照dim指定的维度记录进行聚合,得到计算后的结果;
步骤S45:对查找的维度中每个维度d(d∈dim),增加其与其他维度的支持度,并写入维度支持度二维数组中;
步骤S46:将所有结果信息value转换成图表数据格式,并进行图表格式封装,然后返回前台展示。
采用上述技术方案,能够根据所导入数据表的维度数自动划分为多个子维度,从而能够有效降低维度数,能够达到维度的快速分析存储且占用较少存储空间;(比如一张100维的数据,其完全聚合的数据计算量为2100,利用本发明所述技术方案,利用步骤S32中的公式,能够将其维度完全聚合的计算量从2100减少至227,并且具有较好的查询效率;同时设置维度支持度集合,能够根据用户的查询操作统计维度间的支持度,从而能够自动将关联密切的维度放在一个子维度中,大大降低了数据处理量,如用户查询d1,d2,d3以及d4维度,而根据维度支持度将此4个维度放入一个子维度中,则无需在原表中进行聚合操作,可以直接得到查询结果返回,而若没有维度支持度,则此4个维度可能放入不同子维度中,在查询时,将不同子维度中的查询维度取出来还需要在原表中对未命中的维度进行重新聚合,其查询计算时间花费将大大增加。
为了进一步说明本发明的技术方案,下面将结合实际应用中数据处理过程,对本发明作进一步详细描述,如图4所示,本发明方法在以下步骤(1)至步骤(8)产生分析数据:
步骤(1).根据用户输入,选择数据源类型、ip、端口号、服务名、用户名、密码,生成数据源配置信息,访问该数据源产生对应数据表,用户选择需要抽取的表,并对其进行单独的个性化配置,包括字段选择、字段类型映射,同时根据是否增量选择对应选项,增量字段选择以及增量值选择,该值包括具有递增趋势的数值类型、日期类型以及等长字符类型,完成后生成导入任务,包括指定任务名称、任务执行时间、任务执行时间周期,将该任务提交至服务器执行,该任务最终会在大数据平台生成对应的数据表;
步骤(2).任务完成后,用户针对导入大数据平台的任务表进行清洗操作,包括数据文件压缩编码、文件存储格式、多表合并、值映射、数据字段拆分、空值处理以及条件过滤,根据具体操作生成一系列执行步骤,最后生成清洗任务关联相关步骤,指定任务执行时间及执行周期,提交至服务器执行,最终产生新的清洗后的表;
步骤(3).对于清洗好的表,其决策过程如图5所示,首先对表中每一条记录标记唯一的编号TID,然后判断是否存在用户操作日志,若不存在,则对维度间的支持度进行初始化,令SUP为维度支持度集合,SUP={aij|i,j∈[1,DN],i>j,aij=1},其为一个二维数组,aij表示维度Di与Dj的支持度,初始值都为1,随后指定需要分析的维度和指标,记维度D={D1,D2,D3…Dm…DDN|m≤DN},维度D按照字典顺序进行排列,指标M={M1,M2,M3…MMN},指标M按照字典顺序进行排序。其中数据量记为TQ、维度数DN、增量记录数IN、指标数MN,接下来根据数据量和维度数进行判断;
步骤(4).对数据量TQ,若其大于数据量阈值Tmax,执行步骤(5),否则执行步骤(6);
步骤(5).对维度数DN,若其大于维度数阈值Dmax,执行步骤(7),否则执行步骤(8);
步骤(6).将数据按列划分,每一列为一个维度,记维度Di中的数据为DT={d1,d2,d3…dn|DT∈D,n=TQ},对于dj(1≤j≤n),若其为空值或无效默认值,则不进行存储,否则将其存储在j行i列中。若该表含有主键,则以主键名作为行键,否则对数据产生自增ID作为行键进行记录的唯一性区分;
对划分好的r个子维度,按照维度间支持度,对其做倒数,得到新的距离数组DST={bij|bij=1/aij,aij∈SUP},然后使用K-Means算法将其聚类为r个子类别,最终结果是将关联最密切的维度放在一个子维度中,对于每个子维度内的维度Ri,对所有指标M,采用完全聚合的方式生成所有结果集RSi,其中每一个结果都是一个二元组AG=(AR,M),其中AR代表Ri的一种排列,M为指标集合。首先根据其在原表中的记录编号TID,建立维度映射表,以唯一编号DID关联子维度和TID的关系,同时以AR中所有子维度名称+DID作为行键,然后将AG中每个元素作为一列,按列存储在数据库中,最后将划分的r个子维度及其中的维度信息存储在维度映射表中,其存储结构如图6所示;
步骤(8).对D中所有维度Di及所有指标M,采用完全聚合的方式生成所有结果集RS,其中RS={AG|AG=(AR,M)},其中AR代表Di的一种排列,M为指标集合。根据其在原表中的记录编号TID,以AR中所有维度值作为行键,然后将AG中每个元素作为一列,按列存储在数据库中;
下面以图7查询流程图描述查询过程:
步骤(9).用户指定需要查询的维度dim、指标mes、展示方式viewType、查找的表tableName,对dim和mes按照字典顺序生成查询的组合,记作SC={dim,mes},其中dim为重新按照维度的字段顺序重新排序后的结果,mes为重新按照指标的字典顺序重新排序后的结果。计算出表中数据量,判断该查询针对的表中数据量阈值TR是否小于Tmax,若小于Tmax,执行步骤(10),否则执行步骤(11);
步骤(10).根据SC中的dim和mes进行解析生成查询语句在数据库中进行查询,得到查询后的结果;
步骤(11).若该表中维度数DN小于维度数阈值Dmax,执行步骤(12),否则执行步骤(13);
步骤(12).根据dim对数据库中行键进行过滤,寻找满足条件的行键rowKey,然后根据dim、mes和rowKey查找行中对应的列值columnValue,将列中值进行拼接。
步骤(13).首先查找维度划分表,寻找dim维度所涉及到的子维度DS,记DS={ds|ds∈dim∩R},获取包含dim中维度最多的ds,得到其维度DID,根据DID查找原表中关联的TID,对所有满足条件的TID,按照dim指定的维度记录进行聚合,得到计算后的结果value,对查找的维度中每个维度d(d∈dim),增加其与其他维度的支持度,并写入维度支持度二维数组中;
步骤(14).将value转换成图表数据格式,并按照具体图表形式(表格、饼图、柱状图和折线图)分别进行对应的图表格式封装,然后返回前台。
本发明提出的方法采用数据并行和任务并行的相结合的策略,与传统方法相比,有以下优点:
运行高效:对同一张表的导入,采取等量切分方法划分记录块,减少数据导入失败后重传的代价,对每一块记录,采取并行导入方法进行传输,对于多表导入,采取每个表一个任务的多任务并行方式进行导入,最终在数据仓库得到导入的表。
分析时间短:对数据仓库中的表,根据清洗规则自定义清洗方法,将多个清洗步骤合并成清洗任务,以流水线形式执行,该任务使用并行分布式处理框架,能够快速分析并得到清洗后的表。
流程自动化:根据指定维度和指标,利用自适应多维表划分算法,根据维度间支持度对高维数据进行维度划分,各个子维度间并行聚合,能够有效降低产生结果集数目的同时拥有较好的查询性能,并且不需要人为参与,整个过程全部都能够自动化完成,实现了从原始表到数据分析结果的流程自动化的同时,运行效率和稳定性都保持较高水平。
展示形式多样:查询时采用多维表划分算法及数据图表转换方法对前台请求的主题、维度、指标和展示方式进行数据格式转换和封装后返回前台,支持多种图形和表格展示方式。
以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (8)
1.一种基于自适应表维度划分的大数据处理方法,其特征在于,包括以下步骤:
步骤S1:根据用户需求配置并接入数据源生成多张所需的数据表并导入数据仓库,每张数据表具有唯一的tableName;
步骤S2:对所生成的数据表进行数据清洗操作;
步骤S3:对数据表进行数据预处理操作并将预处理后的结果信息预先存储在列式数据库中,该步骤进一步包括以下步骤:
步骤S31:对数据表中每一条记录标记唯一的编号TID,并按列划分为多个维度,记维度D={D1,D2,D3…Dm…DDN|m≤DN},需计算的指标M={M1,M2,M3…MMN},其中数据量为TQ、维度数DN、增量记录数IN、指标数MN;
步骤S32:将维度D划分成r个子维度,记作R={R1,R2,R3…Rr},其中Ri代表第i个子维度包含的维度数,其中,r满足如下约束条件:若没有这样的r,则查找最接近DN的合数DNC,使得并且取ΔX=DNC-DN,产生的新的r个子维度,记作R′={R1′,R2′,R3′…Rr′}且满足
若最终有多个满足条件的r,则取其中最小值;
步骤S33:设置维度支持度集合SUP,SUP={aij|i,j∈[1,DN],i>j,aij=1},其中,二维数组aij表示维度Di与Dj的支持度;所述维度支持度集合根据用户查询操作进行数据更新;
步骤S34:根据所述维度支持度集合对已划分好的r个子维度进行相应调整,将支持度关联最密切的维度放在同一个子维度中;
步骤S35:对于每个子维度内的维度Ri,对所有指标M,采用完全聚合的方式生成所有结果集RSi并存储在子维度划分表中,其中,每一个结果都是一个二元组AG=(AR,M),AR代表Ri的一种排列,M为指标集合,然后将AG中每个元素作为一列,按列存储在数据库中;
步骤S36:根据原数据表中的记录编号TID,生成维度映射表,该维度映射表是以唯一子维度编号DID关联子维度和TID的关系,同时以AR中所有子维度名称+DID作为行键;
步骤S4:根据预先存储在数据库的结果信息进行数据查询操作,该步骤进一步包括:
步骤S41:接收用户输入的查询参数,所述查询参数包括维度dim、指标mes、展示方式viewType以及查找的表tableName;
步骤S42:根据维度dim和指标mes生成查询的组合,记作SC={dim,mes};
步骤S43:根据生成查询的组合查找维度划分表,寻找dim维度所涉及到的子维度DS,记DS={ds|ds∈dim∩R},获取包含dim中维度最多的子维度ds,在该子维度ds的维度划分表中直接获取结果信息;
步骤S44:对于不包括在子维度ds的其他维度,通过维度映射表查找原数据表:首先得到子维度ds的维度编号DID,根据DID查找原数据表中关联的TID,对所有满足条件的TID,按照dim指定的维度记录进行聚合,得到计算后的结果;
步骤S45:对查找的维度中每个维度d(d∈dim),增加其与其他维度的支持度,并写入维度支持度二维数组中;
步骤S46:将所有结果信息value转换成图表数据格式,并进行图表格式封装,然后返回前台展示。
2.根据权利要求1所述的一种基于自适应表维度划分的大数据处理方法,其特征在于,在所述步骤S33中,所述维度支持度集合中任一个二维数组aij的初始值都为1;
对维度支持度集合做倒数,得到新的距离数组DST={bij|bij=1/aij,aij∈SUP},再使用K-Means算法将其聚类为r个子类别。
3.根据权利要求1所述的一种基于自适应表维度划分的大数据处理方法,其特征在于,在所述步骤S32中,若数据量TQ小于数据量阈值Tmax,将数据按列划分,每一列为一个维度,记维度Di中的数据为DT={d1,d2,d3…dn|DT∈D,n=TQ},对于dj(1≤j≤n),若其为空值或无效默认值,则不进行存储,否则将其存储在j行i列中;若该表含有主键,则以主键名作为行键,否则对数据产生自增ID作为行键进行记录的唯一性区分。
4.根据权利要求3所述的一种基于自适应表维度划分的大数据处理方法,其特征在于,若维度数DN小于维度数阈值Dmax,对D中所有维度Di及所有指标M,采用完全聚合的方式生成所有结果集RS,其中RS={AG|AG=(AR,M)},其中AR代表Di的一种排列,M为指标集合;根据其在原表中的记录编号TID,以AR中所有维度值作为行键,然后将AG中每个元素作为一列,按列存储在数据库中。
5.根据权利要求4所述的一种基于自适应表维度划分的大数据处理方法,其特征在于,在所述步骤S43中,根据dim对数据库中行键进行过滤,寻找满足条件的行键rowKey,然后根据dim、mes和rowKey查找行中对应的列值columnValue,将列中值进行拼接。
6.根据权利要求1所述的一种基于自适应表维度划分的大数据处理方法,其特征在于,在所述步骤S42中,根据SC中的dim和mes进行解析生成查询语句在数据库中进行查询。
7.根据权利要求1所述的一种基于自适应表维度划分的大数据处理方法,其特征在于,在所述步骤S2中,产生针对导入数据仓库的数据表的清洗操作,并生成一个定时、定期的清洗任务。
8.根据权利要求1所述的一种基于自适应表维度划分的大数据处理方法,其特征在于,在所述步骤S1中,采取等量切分方法划分记录块,并对每一块记录采取并行导入方法进行传输。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610046015.0A CN105488231B (zh) | 2016-01-22 | 2016-01-22 | 一种基于自适应表维度划分的大数据处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610046015.0A CN105488231B (zh) | 2016-01-22 | 2016-01-22 | 一种基于自适应表维度划分的大数据处理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105488231A CN105488231A (zh) | 2016-04-13 |
CN105488231B true CN105488231B (zh) | 2018-07-20 |
Family
ID=55675206
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610046015.0A Active CN105488231B (zh) | 2016-01-22 | 2016-01-22 | 一种基于自适应表维度划分的大数据处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105488231B (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10353923B2 (en) | 2014-04-24 | 2019-07-16 | Ebay Inc. | Hadoop OLAP engine |
CN107451142B (zh) * | 2016-05-31 | 2022-05-27 | 北京京东尚科信息技术有限公司 | 在数据库中写入和查询数据的方法与装置及其管理系统和计算机可读存储介质 |
CN107515867B (zh) * | 2016-06-15 | 2021-06-29 | 阿里巴巴集团控股有限公司 | 一种NoSQL数据库的数据存储、查询方法和装置以及一种rowKey全组合的生成方法和装置 |
CN108021589B (zh) * | 2016-10-31 | 2020-08-04 | 腾讯科技(北京)有限公司 | 数据库的查询维度的配置方法和装置 |
CN107092624B (zh) * | 2016-12-28 | 2022-08-30 | 北京星选科技有限公司 | 数据存储方法、装置及系统 |
CN106682439A (zh) * | 2016-12-30 | 2017-05-17 | 广州慧扬信息系统科技有限公司 | 基于研究性随访的病历筛选方法 |
WO2018209594A1 (en) * | 2017-05-17 | 2018-11-22 | Ebay Inc. | Olap cube optimization using weightings |
CN107273506B (zh) * | 2017-06-19 | 2020-06-16 | 西安电子科技大学 | 一种数据库多表联合查询的方法 |
CN107908660B (zh) * | 2017-10-17 | 2021-07-09 | 东华大学 | 面向数据开放共享的数据划分与组织方法 |
CN108334554B (zh) * | 2017-12-29 | 2021-10-01 | 上海跬智信息技术有限公司 | 一种新型的olap预计算模型及构建方法 |
CN111339133B (zh) * | 2018-12-19 | 2022-08-05 | 深圳市优必选科技有限公司 | 数据的切分方法、装置、计算机设备及存储介质 |
CN111274279B (zh) * | 2020-01-20 | 2024-04-23 | 北京合信力科技有限公司 | 一种数据处理方法及装置 |
CN112307030B (zh) * | 2020-11-05 | 2023-12-26 | 金蝶软件(中国)有限公司 | 一种维度组合获取方法及相关设备 |
CN113672598B (zh) * | 2021-10-22 | 2022-01-21 | 国能(北京)商务网络有限公司 | 一种面向供应链采购的多视角数据维度模型的构建方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1216841A (zh) * | 1997-10-31 | 1999-05-19 | 国际商业机器公司 | 用于索引和检索的多维数据聚类和降维 |
CN102004768A (zh) * | 2009-08-31 | 2011-04-06 | 埃森哲环球服务有限公司 | 自适应分析多维处理系统 |
CN103577605A (zh) * | 2013-11-20 | 2014-02-12 | 贵州电网公司电力调度控制中心 | 基于数据融合和数据挖掘的数据仓库及其应用方法 |
CN104794128A (zh) * | 2014-01-20 | 2015-07-22 | 阿里巴巴集团控股有限公司 | 数据处理方法和装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7797320B2 (en) * | 2005-03-15 | 2010-09-14 | Hyperion Solutions Corporation | Dimensionality reduction |
US20110246409A1 (en) * | 2010-04-05 | 2011-10-06 | Indian Statistical Institute | Data set dimensionality reduction processes and machines |
-
2016
- 2016-01-22 CN CN201610046015.0A patent/CN105488231B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1216841A (zh) * | 1997-10-31 | 1999-05-19 | 国际商业机器公司 | 用于索引和检索的多维数据聚类和降维 |
CN102004768A (zh) * | 2009-08-31 | 2011-04-06 | 埃森哲环球服务有限公司 | 自适应分析多维处理系统 |
CN103577605A (zh) * | 2013-11-20 | 2014-02-12 | 贵州电网公司电力调度控制中心 | 基于数据融合和数据挖掘的数据仓库及其应用方法 |
CN104794128A (zh) * | 2014-01-20 | 2015-07-22 | 阿里巴巴集团控股有限公司 | 数据处理方法和装置 |
Non-Patent Citations (2)
Title |
---|
基于Hadoop的领域知识库自动构建关键技术研究;吴鹏;《中国优秀硕士学位论文全文数据库 信息科技辑》;20151215(第12期);I138-996 * |
电子商务网站多维数据分析;林锦;《牡丹江教育学院学报》;20140930(第9期);133-134 * |
Also Published As
Publication number | Publication date |
---|---|
CN105488231A (zh) | 2016-04-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105488231B (zh) | 一种基于自适应表维度划分的大数据处理方法 | |
US8266147B2 (en) | Methods and systems for database organization | |
US5826261A (en) | System and method for querying multiple, distributed databases by selective sharing of local relative significance information for terms related to the query | |
US5542089A (en) | Method and apparatus for estimating the number of occurrences of frequent values in a data set | |
CN103577440B (zh) | 一种非关系型数据库中的数据处理方法和装置 | |
US8386508B2 (en) | System and method for parallel query evaluation | |
CN103631922B (zh) | 基于Hadoop集群的大规模Web信息提取方法及系统 | |
CN103970902B (zh) | 一种大量数据情况下的可靠即时检索方法及系统 | |
US20120197900A1 (en) | Systems and methods for search time tree indexes | |
US20170357708A1 (en) | Apparatus and method for processing multi-dimensional queries in a shared nothing system through tree reduction | |
CN106709012A (zh) | 一种大数据分析方法及装置 | |
US6886016B2 (en) | Method and system for supporting multivalue attributes in a database system | |
CN106844664B (zh) | 一种基于摘要的时间序列数据索引构建方法 | |
CN106599052B (zh) | 一种基于Apache Kylin的数据查询系统及其方法 | |
JP2004518226A (ja) | データベースシステムおよびクエリオプティマイザ | |
CN106156168A (zh) | 在跨分区数据库中查询数据的方法及跨分区查询装置 | |
US9477702B1 (en) | Apparatus and method for accessing materialized and non-materialized values in a shared nothing system | |
CN107247799A (zh) | 兼容多种大数据存储的数据处理方法、系统及其建模方法 | |
AU1472901A (en) | System for managing rdbm fragmentations | |
EP1450274A2 (en) | Dimension-based partitioned cube | |
Haynes et al. | High performance analysis of big spatial data | |
US9177079B1 (en) | Apparatus and method for processing multi-dimensional queries in a shared nothing system through tree reduction | |
CN106844666A (zh) | 一种自适应的时间序列数据查询方法 | |
CN106940715A (zh) | 一种基于索引表的查询的方法及设备 | |
US20070255746A1 (en) | Method for Processing Associated Software Data |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
EE01 | Entry into force of recordation of patent licensing contract | ||
EE01 | Entry into force of recordation of patent licensing contract |
Application publication date: 20160413 Assignee: TAIZHOU SUNJOY AUTOMOBILE PRODUCT Co.,Ltd. Assignor: HANGZHOU DIANZI University Contract record no.: X2021330000605 Denomination of invention: A big data processing method based on adaptive table dimension partition Granted publication date: 20180720 License type: Common License Record date: 20211028 |