论文部分内容阅读
大数据时代的到来,从海量数据中提取有价值信息对企业,政府等部门至关重要。本文主要研究内容是大数据下的OLAP分析。Hadoop——集分布式文件存储HDFS和并行计算模型MapReduce于一体的平台能够有效地实现对海量数据的分布式存储,但是在计算方面,只能做到任务级别并行。而图形处理器(Graphics Processing Unit,GPU)作为大规模多核并行处理器,相对于CPU能够达到10X计算能力,但是存储空间小,因此本文利用GPU的多核并行计算能力,基于GPU实现了Hadoop任务内数据级别并行,对大数据OLAP分析中的关键技术进行了研究。其中,多维数据聚集是OLAP分析的核心操作。Cube预计算是提升OLAP分析效率的关键操作。多个维表和事实表的连接是基于ROLAP结构的OLAP分析中的瓶颈。因此,本文基于如上三个方面展开了研究工作: 为了提升大数据上的多维数据聚集效率,设计了基于GPU优化Hadoop上的聚集算法,分为mapper部分的基于哈希的局部聚集算法和reducer部分基于GPU共享内存,全局内存的二次聚集算法。通过与Hadoop原始聚集算法对比,证明了基于GPU的大数据聚集算法的有效性。 为了提升大数据上的Cube预计算效率,设计了基于GPU的大数据Cube算法。Hadoop通过方体编码实现任务划分,完成对GPU的调度,GPU负责针对每个方体执行具体的聚集计算工作。此算法基于GPU完成计算工作,只需一轮mapreduce任务即可完成所有的Cube计算任务,实验证明了基于GPU的Cube算法的有效性。 为了降低多个维表和事实表的连接代价,通过对维表建立倒排索引,将OLAP查询流程由首先连接,再过滤,最后聚集优化为先对基于倒排索引的维表执行过滤,再连接,最后聚集。再者,为了提升OLAP分析效率,设计了基于GPU的连接算法和点查询算法,实验证明了基于GPU进行OLAP查询有一定的性能提升。