大数据分析平台系统开发

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

大数据分析平台系统开发

1、搭建大数据平台离不开BI。在大数据之前,BI就已经存在很久了,简单把大数据等同于BI,明显就是不恰当的。但两者又就是紧密关联的,相辅相成的。BI就是达成业务管理的应用工具,没有BI,大数据就没有了价值转化的工具,就无法把数据的价值呈现给用户,也就无法有效地支撑企业经营管理决策;大数据则就是基础,没有大数据,BI就失去了存在的基础,没有办法快速、实时、高效地处理数据,支撑应用。所以,数据的价值发挥,大数据平台的建设,必然就是囊括了大数据处理与BI应用分析建设的。

2、大数据拥有价值。来瞧瞧数据使用金字塔模型,从数据的使用角度来瞧,数据基本有以下使用方式:

自上而下,可以瞧到,对数据的要求就是不一样的:

•数据量越来越大,维度越来越多。

•交互难度越来越大。

•技术难度越来越大。

•以人为主,逐步向机器为主。

•用户专业程度逐步提升,门槛越来越高。

企业对数据、效率要求的逐步提高,也给大数据提供了展现能力的平台。企业构建大数据平台,归根到底就是构建企业的数据资产运营中心,发挥数据的价值,支撑企业的发展。

整体方案思路如下:

建设企业的基础数据中心,构建企业统一的数据存储体系,统一进行数据建模,为数据的价值呈现奠定基础。同时数据处理能力下沉,建设集中的数据处理中心,提供强大的数据处理能力;通过统一的数据管理监控体系,保障系统的稳定运行。有了数据基础,构建统一的BI应用中心,满足业务需求,体现数据价值。

提到大数据就会提到hadoop。大数据并不等同于hadoop,但hadoop的确就是最热门的大数据技术。下面以最常用的混搭架构,来瞧一下大数据平台可以怎么

通过Kafka作为统一采集平台的消息管理层,灵活的对接、适配各种数据源采集(如集成flume),提供灵活、可配置的数据采集能力。

利用spark与hadoop技术,构建大数据平台最为核心的基础数据的存储、处理能力中心,提供强大的数据处理能力,满足数据的交互需求。同时通过sparkstreaming,可以有效满足企业实时数据的要求,构建企业发展的实时指标体系。

同时为了更好的满足的数据获取需求,通过RDBMS,提供企业高度汇总的统计数据,满足企业常规的统计报表需求,降低使用门槛。对大数据明细查询需求,则通过构建HBase集群,提供大数据快速查询能力,满足对大数据的查询获取需求。

一般的大数据平台从平台搭建到数据分析大概包括以下几个步骤:

1、Linux系统安装

一般使用开源版的Redhat系统--CentOS作为底层平台。为了提供稳定的硬件基础,在给硬盘做RAID与挂载数据存储节点的时,需要按情况配置。比如,可以选择给HDFS的namenode做RAID2以提高其稳定性,将数据存储与操作系统分别放置在不同硬盘上,以确保操作系统的正常运行。

2、分布式计算平台/组件安装

当前分布式系统的大多使用的就是Hadoop系列开源系统。Hadoop的核心就是HDFS,一个分布式的文件系统。在其基础上常用的组件有Yarn、Zookeeper、Hive、Hbase、Sqoop、Impala、ElasticSearch、Spark等。

使用开源组件的优点:1)使用者众多,很多bug可以在网上找的答案(这往往就是开发中最耗时的地方);2)开源组件一般免费,学习与维护相对方便;3)开源组件一般会持续更新;4)因为代码开源,如果出现bug可自由对源码作修改维护。

常用的分布式数据数据仓库有Hive、Hbase。Hive可以用SQL查询,Hbase可以快速读取行。外部数据库导入导出需要用到Sqoop。Sqoop将数据从Oracle、MySQL 等传统数据库导入Hive或Hbase。Zookeeper就是提供数据同步服务, Impala就是对hive的一个补充,可以实现高效的SQL查询

3、数据导入

前面提到,数据导入的工具就是Sqoop。它可以将数据从文件或者传统数据库导入到分布式平台。

4、数据分析

数据分析一般包括两个阶段:数据预处理与数据建模分析。

数据预处理就是为后面的建模分析做准备,主要工作时从海量数据中提取可用特征,建立大宽表。这个过程可能会用到Hive SQL,Spark QL与Impala。

数据建模分析就是针对预处理提取的特征/数据建模,得到想要的结果。如前面所提到的,这一块最好用的就是Spark。常用的机器学习算法,如朴素贝叶斯、逻辑回归、决策树、神经网络、TFIDF、协同过滤等,都已经在ML lib里面,调用比较方便。

5、结果可视化及输出API

可视化一般式对结果或部分原始数据做展示。一般有两种情况,行数据展示,与列查找展示。

相关文档
最新文档