基于数据粒度预计算的零售报表系统的设计与实现
发布时间:2022-01-14 05:23
报表系统一直以来是企业的基本业务要求,是企业管理的基本措施和途径,也是企业实施商业智能战略的基础。随着零售企业规模的扩大和历史数据快速的积累,在商业智能领域,如何对海量零售数据进行多维统计分析和展示成为了报表系统亟待解决的问题。在此背景下,提出基于数据粒度预计算的零售报表系统的设计与实现。本文首先介绍了零售企业报表管理的现状,同时分析了国内外基于大数据的报表系统构建的研究内容、数据仓库的相关理论和相关大数据处理技术,确定了以空间换取时间的预计算思路。然后,本文根据业务需求分析和功能性需求分析,明确了系统实现目标,并在分析的基础上对于数据处理方案进行设计。围绕多维数据预处理模块,采用了Apache Kylin分析引擎构建数据立方体和存储过程实现物化视图,完成对海量零售数据的预计算和存储,提升了报表系统多维数据分析查询的效率。最后,本文选用了 SSM(Spring+SpringMVC+MyBatis)web框架对报表管理平台进行构建。在整个项目的设计过程中,本人主要负责数据仓库的设计、预计算模块的设计及报表平台的设计和开发工作。在实验验证方面,本文首先通过任务调度平台验证了预计算任务设计的...
【文章来源】:北京交通大学北京市 211工程院校 教育部直属院校
【文章页数】:91 页
【学位级别】:硕士
【部分图文】:
查询性能对比
钻取(Drill-down)操作是为了获取某一个维度下更细节的数据,这个数据是??基于钻取之前数据的另一个维度的细分[1G]。如图2-2所示,如果将整个立方体看??作钻取之前的数据,按时间维度对第二季度的商品销售进行钻取,则可以分别获??取到4月、5月和6月具体的数据信息。如果对时间、商品类型和城市三个维度进??行逐层多次钻取,则可以获取到某个月某个城市某类商品的销量信息。??上卷(Roll-up)操作的目的与钻取相反,上卷是为了把细粒度的数据进行聚??集,从更高的维度去观察数据,如图2-2所示,当对立方体数据进行城市维度的上??卷时,便可以只从商品分类和时间两个维度去分析数据。??切片(Slice)操作是对某个维度中特定的值进行分析["1,如图2-2所示,当选??中的商品分类为电子产品时,就可以分析电子产品在不同时间和不同城市的销量??情况。??切块(Dice)操作是对某个维度中某个区间的数据进行分析[12],如图2-2所示,??当需要分析上半年的销售情况时,就可以进行切块操作截取时间维度第一季度和??第二季度的数据。??一
从图2-3可以看出,Hive的工作流程可以大致分为三个步骤。首先,Hive将??用户的查询命令解析后通过执行引擎传递给Hadoop。然后,Hadoop根据查询命令??进行MapReduce后。最后,执行引擎获取Hadoop中的数据结果返回给Hive接口。??第一步骤可以细分为:通过命令行或者Hive接口将查询命令发送给数据库驱动程??序,数据库驱动程序对查询语句进行语法检查、构建语法解析树和查询计划,编??译器将元数据的请求发送到Metastore,Metastore返回元数据信息,编译器检查需??求并将计划重新发给驱动器程序。第二个步骤可以细分为:驱动器程序将执行计??划发送给执行引擎,执行Job任务。第三个步骤可以细分为:执行引擎从数据节点??获取数据结果集,执行引擎将结果值发送至驱动器程序,驱动器程序将结果发送??至?Hive?接口?[19]。??j?1?j?i?r????ETL?Tools?j?]?BI?Reporting?j?j?RDBMS??i?j?i?i?i?i??Pig(Data?Flow)?Hive(SQL)?Sqoop??N????〇??.
本文编号:3587893
【文章来源】:北京交通大学北京市 211工程院校 教育部直属院校
【文章页数】:91 页
【学位级别】:硕士
【部分图文】:
查询性能对比
钻取(Drill-down)操作是为了获取某一个维度下更细节的数据,这个数据是??基于钻取之前数据的另一个维度的细分[1G]。如图2-2所示,如果将整个立方体看??作钻取之前的数据,按时间维度对第二季度的商品销售进行钻取,则可以分别获??取到4月、5月和6月具体的数据信息。如果对时间、商品类型和城市三个维度进??行逐层多次钻取,则可以获取到某个月某个城市某类商品的销量信息。??上卷(Roll-up)操作的目的与钻取相反,上卷是为了把细粒度的数据进行聚??集,从更高的维度去观察数据,如图2-2所示,当对立方体数据进行城市维度的上??卷时,便可以只从商品分类和时间两个维度去分析数据。??切片(Slice)操作是对某个维度中特定的值进行分析["1,如图2-2所示,当选??中的商品分类为电子产品时,就可以分析电子产品在不同时间和不同城市的销量??情况。??切块(Dice)操作是对某个维度中某个区间的数据进行分析[12],如图2-2所示,??当需要分析上半年的销售情况时,就可以进行切块操作截取时间维度第一季度和??第二季度的数据。??一
从图2-3可以看出,Hive的工作流程可以大致分为三个步骤。首先,Hive将??用户的查询命令解析后通过执行引擎传递给Hadoop。然后,Hadoop根据查询命令??进行MapReduce后。最后,执行引擎获取Hadoop中的数据结果返回给Hive接口。??第一步骤可以细分为:通过命令行或者Hive接口将查询命令发送给数据库驱动程??序,数据库驱动程序对查询语句进行语法检查、构建语法解析树和查询计划,编??译器将元数据的请求发送到Metastore,Metastore返回元数据信息,编译器检查需??求并将计划重新发给驱动器程序。第二个步骤可以细分为:驱动器程序将执行计??划发送给执行引擎,执行Job任务。第三个步骤可以细分为:执行引擎从数据节点??获取数据结果集,执行引擎将结果值发送至驱动器程序,驱动器程序将结果发送??至?Hive?接口?[19]。??j?1?j?i?r????ETL?Tools?j?]?BI?Reporting?j?j?RDBMS??i?j?i?i?i?i??Pig(Data?Flow)?Hive(SQL)?Sqoop??N????〇??.
本文编号:3587893
本文链接:https://www.wllwen.com/kejilunwen/ruanjiangongchenglunwen/3587893.html