电商大数据分析平台项目解决方案说明书_第1页
电商大数据分析平台项目解决方案说明书_第2页
电商大数据分析平台项目解决方案说明书_第3页
电商大数据分析平台项目解决方案说明书_第4页
电商大数据分析平台项目解决方案说明书_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

电商大数据分析平台项目解决方案说明书XX科技股份有限公司编制目录TOC\o"1-3"\h\u一、项目存在问题及需解决问题 21.存在问题 22.需解决问题 2二、解决方案 41.方案架构 42.核心技术 5三、开发范围 81.数据生产 82.数据采集/消费 83.数据分析 94.数据展示 10项目存在问题及需解决问题存在问题Hbase多实例安全模式重启认证API接口数据服务能力多组件开发需解决问题Hbase多实例为Hbase多实例的管理存在难点。通过配置不同的hbase客户端的配置文件,调度代码从相应位置获取并加载配置文件,从而解决多实例管理问题。安全模式重启认证客户端在安全模式下,需要24小时后定时重启一次客户端。采用crontab自动执行定时shell脚本的方式去定时重启jar包,解决了定时重启的问题,保证项目能自动化部署并实现高可用。API接口数据服务平台DASP与该大数据平台各组件API对接困难。该大数据平台目前提供API对接方式,但是缺乏对接经验,官方文档不足,调试接口不稳定。目前,DASP应用服务平台系统暴露RESTFUL接口,解决跨平台使用,实现了项目解耦、扩展性、易用性、安全等问题。多组件开发大数据平台组件较多,包括Loader,Hdfs,Hive,Hbase,Kylin,Es,Redis等,各组件的安全认证、数据传输和联通测试流程的稳定性与安全性需要反复验证。数据服务能力以往,数据服务是通过定义数据服务接口的方式加以实现。随着数据应用服务需求的不断增加,数据接口难管理问题日益凸显。本次数据应用服务平台,主要通过定义DSL,对不同技术语言进行SQL的转化,从而真正实现SQLonHadoop的数据服务能力,提高平台适用性。解决方案方案架构HBase是一个分布式的、面向列的开源数据库,该技术来源于FayChang所撰写的Google论文“Bigtable:一个结构化数据的分布式存储系统”。就像Bigtable利用了Google文件系统(FileSystem)所提供的分布式数据存储一样,HBase在Hadoop之上提供了类似于Bigtable的能力。HBase是Apache的Hadoop项目的子项目。HBase不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库。另一个不同的是HBase基于列的而不是基于行的模式。系统采用面向对象的软件设计方法,把整个系统看作是多个离散对象的组合。系统设计时,首先把业务流程分解成功能模块及其业务实体对象,然后根据业务流程分析对于这些业务实体对象的操作方法,形成业务处理对象,最后把各个功能模块关联起来,形成系统。软件设计是一个将需求转变为软件的过程,系统通过逐步求精使得设计陈述逐渐接近于源代码。系统程序采用MVC的设计思想,将展现逻辑、控制逻辑、业务处理逻辑分离。系统采用参数化的设计思想,定义和管理系统的实体及配置,调整实体以适应外部变化。系统采用J2EE技术保证程序逻辑实现的平台无关性,并便于安装部署。系统采用AJAX技术,提高客户操作的交互性,保证实际使用的易用性。系统采用echarts可视化框架实现数据展示。核心技术HadoopHadoop是一个由Apache基金会所开发的分布式系统基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。SpringMVCSpringMVC:属于SpringFrameWork的后续产品,已经融合在SpringWebFlow里面。Spring框架提供了构建Web应用程序的全功能MVC模块。MyBatisMYBatis:是支持普通SQL查询,存储过程和高级映射的优秀持久层框架。MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。MyBatis使用简单的XML或注解用于配置和原始映射,将接口和Java的POJOs(PlainOldJavaObjects,普通的Java对象)映射成数据库中的记录。EchartsECharts是一款基于Javascript的数据可视化图表库,提供直观,生动,可交互,可个性化定制的数据可视化图表。MySQLMySQL是一个关系型数据库管理系统,由瑞典MySQLAB公司开发,属于Oracle旗下产品。MySQL是最流行的关系型数据库管理系统之一,在WEB应用方面,MySQL是最好的RDBMS(RelationalDatabaseManagementSystem,关系数据库管理系统)应用软件之一。MySQL是一种关系型数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQL所使用的SQL语言是用于访问数据库的最常用标准化语言。MySQL软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择MySQL作为网站数据库。Hivehive是基于Hadoop构建的一套数据仓库分析系统,它提供了丰富的SQL查询方式来分析存储在Hadoop分布式文件系统中的数据:可以将结构化的数据文件映射为一张数据库表,并提供完整的SQL查询功能;可以将SQL语句转换为MapReduce任务运行,通过自己的SQL查询分析需要的内容,这套SQL简称HiveSQL,使不熟悉mapreduce的用户可以很方便地利用SQL语言查询、汇总和分析数据。而mapreduce开发人员可以把自己写的mapper和reducer作为插件来支持hive做更复杂的数据分析。它与关系型数据库的SQL略有不同,但支持了绝大多数的语句如DDL、DML以及常见的聚合函数、连接查询、条件查询。它还提供了一系列的:具进行数据提取转化加载,用来存储、查询和分析存储在Hadoop中的大规模数据集,并支持UDF(User-DefinedFunction)、UDAF(User-DefnesAggregateFunction)和UDTF(User-DefinedTable-GeneratingFunction),也可以实现对map和reduce函数的定制,为数据操作提供了良好的伸缩性和可扩展性。HBASEHBase–HadoopDatabase,是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用HBase技术可在廉价PCServer上搭建起大规模结构化存储集群。ZookeeperZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。FlumeFlume是Cloudera提供的一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统,Flume支持在日志系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据进行简单处理,并写到各种数据接受方(可定制)的能力。开发范围数据生产对于该模块的业务,即数据生产过程,一般并不会让你来进行操作,数据生产是一套完整且严密的体系,这样可以保证数据的安全性。但是如果涉及到项目的一体化方案的设计(数据的产生、存储、分析、展示),则必须清楚每一个环节是如何处理的,包括其中每个环境可能隐藏的问题;数据结构,数据内容可能出现的问题。数据采集/消费数据采集模块(消费),在企业中你要清楚流式数据采集框架flume和kafka的定位是什么。我们在此需要将实时数据通过flume采集到kafka然后供给给hbase消费。flume:cloudera公司研发适合下游数据消费者不多的情况;适合数据安全性要求不高的操作;适合与Hadoop生态圈对接的操作。kafka:linkedin公司研发适合数据下游消费众多的情况;适合数据安全性要求较高的操作(支持replication);因此我们常用的一种模型是:线上数据-->flume-->kafka-->flume(根据情景增删该流程)-->HDFS线上数据-->flume-->kafka-->sparkstreaming实时流式处理消费存储模块流程图:数据分析我们的数据已经完整的采集到了HBase集群中,这次我们需要对采集到的数据进行分析,统计出我们想要的结果。注意,在分析的过程中,我们不一定会采取一个业务指

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论