赞
踩
谢谢分享!
转载:基于Hadoop和Spark体系的大数据分析平台构建_基于hadoop和spark的大数据简单项目&oq=基于hadoop和spark的大数据简单项目-CSDN博客
随着大数据、人工智能等技术的快速发展,企业对大数据平台的需求越来越强烈,通过大数据分析技术为企业提供经营价值。虽然数据分析工作隐藏在业务系统背后,但是具有非常重要的作用,数据分析的结果对企业决策、企业业务发展有着举足轻重的作用。随着大数据技术的发展,数据挖掘、数据探索等专有名词曝光度越来越高,但是在Hadoop体系的大数据分析系统还未成熟之前,数据分析工作已经经历了长足的发展,尤其是以BI(Bussiness Intelligence, 商业智能)系统为主的数据分析,已经有了非常成熟和稳定的技术方案和生态系统。
01
应用背景
1、搭建大数据平台离不开BI
在大数据之前,BI系统就已经存在很久了,简单把大数据等同于BI,明显是不恰当的。但两者又是紧密关联的,相辅相成的。BI是达成业务管理的应用工具,没有BI系统,大数据就没有了价值转化的工具,就无法把数据的价值呈现给用户,也就无法有效地支撑企业经营管理决策;大数据则是基础,没有大数据,BI就失去了存在的基础,没有办法快速、实时、高效地处理数据,支撑应用。 所以,数据的价值发挥,大数据平台的建设,必然是囊括了大数据处理与BI应用分析建设的。
企业发展到一定规模都会搭建单独的BI平台来做数据分析,如OLAP(联机分析处理),一般都是基于数据库技术来构建,基本都是单机产品。除了业务数据的相关分析外,互联网企业还会对用户行为进行分析,进一步挖掘潜在价值,这时数据就会膨胀得很厉害,一天的数据量可能会成千万或上亿,对基于数据库的传统数据分析平台的数据存储和分析计算带来了很大挑战。
为了应对随着数据量的增长、数据处理性能的可扩展性,许多企业纷纷转向hadoop平台来搭建数据分析平台。Hadoop平台具有分布式存储及并行计算的特性,因此可轻松扩展存储结点和计算结点,解决数据增长带来的性能瓶颈。
2、大数据拥有价值
大家可以先看一看数据应用用金字塔模型,从数据的应用用角度来看,数据基本有以下使用方式:
自上而下,可以看到,对数据的要求是不一样的:
企业对数据、效率要求的逐步提高,也给大数据提供了展现能力的平台。企业构建大数据平台,归根到底是构建企业的数据资产运营中心,发挥数据的价值,支撑企业的发展。
02
大数据分析处理流程
随着越来越多的企业开始使用Hadoop平台,也为Hadoop平台引入了许多的技术,如Hive、Spark SQL、Kafka等,丰富的组件使得用Hadoop构建数据分析平台代替传统数据分析平台成为可能。
大数据分析基本都是单独的系统,会将其他数据源的数据(即外部数据)同步到大数据平台的存储体系中(即数据湖),一般数据先进入到接入层,这一层只简单的将外部数据同步到数据分析平台,没有做其他处理,这样同步出错后重试即可,有定时同步和流式同步两种:
接入层数据需要经过ETL处理步骤才会进入数据仓库,数据分析人员都是基于数据仓库的数据来做分析计算,数据仓库可以看作数据分析的唯一来源,ETL会将接入层的数据做数据清洗、转换,再加载到数据仓库,过滤或处理不合法、不完整的数据,并使用统一的维度来表示数据状态。有的系统会在这一层就将数据仓库构建成数据立方体、将维度信息构建成雪花或星型模式;也有的系统这一层只是统一了所有数据信息,没有做数据立方体,留在数据集市做。
数据集市是基于数据仓库数据对业务关心的信息做计算提取后得到的进一步信息,是业务人员直接面对的信息,是数据仓库的进一步计算和深入分析的结果,一般都会构建数据立方体。系统开发人员一般会开发页面来向用户展示数据集市的数据。
企业应该如何构建大数据分析平台, 提高企业大数据的应用价值,为企业的经营和发展提供有力的数据支撑,帮助企业提高市场竞争能力。下面我们将介绍基于Hadoop体系的大数据分析平台的构建和基于Hadoop与Spark体系的混合大数据分析平台的构建方案。
03
基于Hadoop体系的大数据分析平台
基于Hadoop构建的数据分析平台建构理论基于大数据分析处理流程。传统的数据分析平台刚采用数据库套件来构建,而大数据分析平台基于Hadoop平台提供的丰富组件进行构建。
任务调度平台组件负责将数据处理的流程串联起来,Hadoop平台中可以选择使用Oozie任务调度组件,此外还可以使用anzkaban、Zeus等。
1、数据存储
基于Hadoop的数据湖主要用到了HDFS、Hive和HBase,HDFS是Hadoop平台的文件存储系统,我们直接操纵文件是比较复杂的,所以可以使用分布式数据库Hive或HBase用来做数据湖,存储接入层、数据仓库、数据集市的数据。
Hive和HBase各有优势:HBase是一个NoSQL数据库,随机查询性能和可扩展性都比较好;而Hive是一个基于HDFS的数据库,数据文件都以HDFS文件(夹)形式存放,存储了表的存储位置(即在HDFS中的位置)、存储格式等元数据,Hive支持SQL查询,可将查询解析成Map/Reduce执行,这对传统的数据分析平台开发人员更友好。
Hive数据格式可选择文本格式或二进制格式,文本格式有csv、json或自定义分隔,二进制格式有orc或parquet,他们都基于行列式存储,在查询时性能更好。同时可选择分区(partition),这样在查询时可通过条件过滤进一步减少数据量。接入层一般选择csv或json等文本格式,也不做分区,以尽量简化数据同步。数据仓库则选择orc或parquet,以提升数据离线计算性能。
数据集市这块可以选择将进行分析后的结果数据同步至传统数据库(RDBMS),也可以停留在大数据分析平台,使用NoSQL提供数据查询或用Apache Kylin来构建数据立方体,提供SQL查询接口。
2、数据同步
我们通过数据同步功能使得数据到达接入层,使用到了Sqoop和Kafka。数据同步可以分为全量同步和增量同步,对于小表可以采用全量同步,对于大表全量同步是比较耗时的,一般都采用增量同步,将变动同步到数据平台执行,以达到两边数据一致的目的。
全量同步使用Sqoop数据同步组件来完成,增量同步如果考虑定时执行,也可以用Sqoop来完成。或者,也可以通过Kafka等MQ流式同步数据,前提是外部数据源会将变动发送到MQ。
3、ETL及离线计算
我们使用Yarn来统一管理和调度计算资源。相较Map/Reduce,Spark SQL及Spark RDD对开发人员更友好,基于内存计算效率也更高,所以我们使用Spark on Yarn作为分析平台的计算选型。
ETL可以通过Spark SQL或Hive SQL来完成,Hive在2.0以后支持存储过程,使用起来更方便。当然,出于性能考虑Saprk SQL还是不错的选择。下面将会介绍基于Hadoop和Spark体系的混合大数据分析平台方案。
4、数据可视化
对于数据可视化的应用方案, 企业可以使用Tableau等数据可视化工具进行展示,同时可以通过BI工具对数据进行可视化展示。
04
基于Hadoop和Spark的混合大数据分析平台
建设企业的基础数据中心,构建企业统一的数据存储体系,统一进行数据建模,为数据的价值呈现奠定基础。同时数据处理能力下沉,建设集中的数据处理中心,提供强大的数据处理能力;通过统一的数据管理监控体系,保障系统的稳定运行。有了数据基础,构建统一的BI应用中心,满足业务需求,体现数据价值。下面基于Hadoop和Spark体系的混合大数据应用架构来介绍一下大数据分析平台怎么搭建以便于支撑企业应用:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。