用于数据仓库生成目标表的方法、装置和计算机可读介质制造方法及图纸

技术编号:21477441 阅读:33 留言:0更新日期:2019-06-29 04:47
本公开提供了一种用于数据仓库生成目标表的方法。所述目标表包括至少一条记录。每条记录包括至少一个项目。不同项目对应于不同索引。所述方法包括:根据所述目标表中的特定索引获得该特定索引所对应的特定项目的特定维度值;从至少一个键值对维度表中确定与所述特定维度值对应的特定项目数据,其中,所述键值对维度表是以键值对方式存储的维度表,每个键值对包括一个关键字和与该关键字对应的值,所述键值对中的关键字包括维度值,所述键值对中的值包括与所述维度值对应的项目数据;以及使用所述特定项目数据填充所述特定项目。本公开还提供了一种用于数据仓库生成目标表的装置。

【技术实现步骤摘要】
用于数据仓库生成目标表的方法、装置和计算机可读介质
本公开涉及计算机
领域,更具体地,涉及一种用于数据仓库生成目标表的方法、装置和计算机可读介质。
技术介绍
随着互联网技术突飞猛进导致数据大爆炸,数据量呈指数级增长。数据仓库为海量数据的处理提供了一种解决方案。在通过数据仓库进行数据加工时,往往需要频繁甚至反复地根据各个维度表中的维度值获取相应的维度属性(即维度值对应的描述性信息)。在数据仓库中根据维度值获取相应的维度属性的方法主要包括join操作、mapjoin操作或者casewhen语句操作。在实现本专利技术构思的过程中,专利技术人发现现有技术中至少存在如下问题:使用join操作时,通过在mapreduce实现,其中首先会集中进行维度值到维度属性的map映射操作,然后再进行整合reduce操作,这样容易产生严重的数据倾斜;使用mapjoin操作时,在需要关联多个维度表的情况下,需要多个mapjoin,从而需要执行多次map映射操作,导致计算量急剧增加;使用casewhen语句时灵活性比较差,且不易维护。
技术实现思路
有鉴于此,本公开提供了一种能够有效避免数据倾斜、且计算量较少、本文档来自技高网...

【技术保护点】
1.一种用于数据仓库生成目标表的方法,所述目标表包括至少一条记录,每条记录包括至少一个项目,不同项目对应于不同索引,所述方法包括:根据所述目标表中的特定索引获得该特定索引所对应的特定项目的特定维度值;从至少一个键值对维度表中确定与所述特定维度值对应的特定项目数据,其中,所述键值对维度表是以键值对方式存储的维度表,每个键值对包括一个关键字和与该关键字对应的值,所述键值对中的关键字包括维度值,所述键值对中的值包括与所述维度值对应的项目数据;以及使用所述特定项目数据填充所述特定项目。

【技术特征摘要】
1.一种用于数据仓库生成目标表的方法,所述目标表包括至少一条记录,每条记录包括至少一个项目,不同项目对应于不同索引,所述方法包括:根据所述目标表中的特定索引获得该特定索引所对应的特定项目的特定维度值;从至少一个键值对维度表中确定与所述特定维度值对应的特定项目数据,其中,所述键值对维度表是以键值对方式存储的维度表,每个键值对包括一个关键字和与该关键字对应的值,所述键值对中的关键字包括维度值,所述键值对中的值包括与所述维度值对应的项目数据;以及使用所述特定项目数据填充所述特定项目。2.根据权利要求1所述的方法,还包括:将原始维度表转换为所述键值对维度表,其中所述原始维度表以字段形式存储所述维度值和所述维度值对应的项目数据。3.根据权利要求1所述的方法,在从至少一个键值对维度表中确定与所述特定维度值对应的特定项目数据之前,还包括:将对应于不同维度的所述键值对维度表存储于同一个Hive蜂巢文件的不同分区中;以及加载所述同一个Hive蜂巢文件。4.根据权利要求1所述的方法,其中,根据所述目标表中的特定索引获得该特定索引所对应的特定项目的特定维度值,包括:获取与该特定索引相关联的至少一个中间表,其中,所述中间表包括事实数据表;以及从所述至少一个中间表获取该特定索引所对应的特定项目的特定维度值。5.根据权利要求3所述的方法,其中,加载所述同一个Hive蜂巢文件,包括:在分布式内存中加载所述同一个Hive蜂巢文件。6.一种用于数据仓库生成目标表的装置,所述目标表包括至少一条记录,每条记录包括至少一个项目,不同项目对应于不同索引,所述装置包括:维度值获取模块,用于根据所述目标表中的特定索引获得该特定索引所对应的特定项目的特定维度值;项目数据确定模块,用于从至少一个...

【专利技术属性】
技术研发人员:张宁刘业辉王彦明
申请(专利权)人:北京京东尚科信息技术有限公司北京京东世纪贸易有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1