文献综述(或调研报告):
大数据通常具备两个特性:一是时间属性,二是数据不会经常变动。对于数据仓库来说,要数据尽量的去冗余才能够形成大数据。数据仓库是面向主题设计的,而数据库是面向事务设计的。MySQL存储的数据是围绕着事务展开的,且要尽量避免数据冗余,这也导致MySQL并不适合分析大数据。
大数据分析方法的结构由四个关键组件组成:数据源、数据接收模块、分析处理模块和分析请求模块[3]。在分析处理组件方面,数据模型(即NoSQL,关系,图形)是实施大数据解决方案的重要决策。因此,可以将数据分析方法大致分为以下三种:基于NoSQL的体系结构、基于关系并行数据库的体系结构和基于图数据库的体系结构[5]。
许多旅行网站利用大数据来支撑决策过程。例如将用户评论应用到住宿、交通上,以便给其他客人提供一个参照,Airbnb就是一个例子[8]。用户点评已经成为互联网消费非常重要的一个部分,对客户的购买行为有着极大的影响。通过Airbnb所提供的数据,进行适当的整合与分析,可得出有哪些因素对入住产生了影响。为了探究这一问题,可采用数据挖掘领域的XGBoost分析入住率的影响因素,并进行预测[9]。而本次课题所采用的Kylin对市场、管理、销售等场景也非常适合[15],因此也可以用来分析Airbnb的相关数据。
作为一种多维数据分析的工具,Apache Kylin属于基于NoSQL架构的工具。Apache Kylin默认的数据源是大数据领域中最常用的数据仓库Hive,Hive本身就具备海量数据存储和分析的能力[19]。编程模型是常见的MapReduce模型[13],扩展性也较好。Hive的本质是一个从HiveQL到MapReduce的转换器。Apache Kylin安装的前提要求是Hadoop,Hive,Hbase必须已经安装而且能正常工作。
Hive数据仓库不支持对单条数据进行操作,它通过批量导入来加载数据到仓库中,并将这些数据直接以文件的格式存储在HDFS中。之后可以通过追加或全部覆盖两种方式继续导入数据[19]。
Apache Kylin的功能是分析大数据,具有许多特性,包括可扩展的超快 OLAP 引擎、Hadoop ANSI SQL 接口、交互式查询能力、多维立方体和与 BI 工具无缝整合。通过交互式查询能力,用户可以以秒级以下的延迟水平实现与Hadoop数据的交互,其性能优势远远大于Hive的查询机制[4]。
Kylin的具体工作大致分为以下几个步骤:指定数据模型,定义维度和度量;预计算 Cube,计算所有 Cuboid 并保存为物化视图;执行查询时(Kylin支持Restful API/JDBC/ODBC驱动),读取 Cuboid运算,产生查询结果[7]。系统架构设计通常为:将数据源存入Hive数据仓库,通过HDFS生成数据预聚合子系统,再通过MapReduce生成OLAP数据立方体,获取数据后得到多维数据可视化子系统[19]。
以上是毕业论文文献综述,课题毕业论文、任务书、外文翻译、程序设计、图纸设计等资料可联系客服协助查找。