基于hadoop的BI架构
2016-08-07 17:02
176 查看
BI系统,是企业利用数据驱动运营的一个典型系统。BI系统通过发掘企业运行过程中的数据,发现企业的潜在风险、为企业的各项决策提供数据支撑。
传统的BI系统通常构建于关系型数据库之上。随着企业业务量的增大和对用户行为实时提取分析的需要越来越高,传统的BI架构对实时性的分析和大数据量的分析已经无法满足,新的数据分析的解决方案便呼之欲出。
得益于hadoop对大数据和分布式计算的优势、以及丰富的组件,使用hadoop进行BI架构便方便许多。
一个典型的基于hadoop的BI架构如下图所示:
![](http://img.blog.csdn.net/20160807161638295?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
该BI架构主要包括2部分:实时处理部分、离线批处理部分。
数据流:通过flume实时拉取服务器的日志,并将其发送至spark和hadoop。spark利用spark structured streaming组件接收flume发送的日志数据,并在一定的窗口和周期下进行计算。提取出一些用户在此时的基本行为过程,并将结果存储至hbase。这一过程中,会涉及高频的数据读写和计算需求、特别是flume和spark这一块的话对内存的需求量比较大,需要做好硬件配置的规划。同时将日志数据写入一份至hadoop,主要是为了做离线分析的需要。
数据流:业务数据主要是通过sqoop将mysql数据以增量的形式导入hive,日志数据是在实时处理部分已经将其存入了hadoop中,这里直接拿来用就好了。这里的统计分析和机器学习应用可以依赖于hive和spark处理,比较方便。最终的分析结果存入mysql数据库,同时模型可以直接输出,验证之后拿来用。
架构的基本组成部分介绍的差不多了,其实这一块基本是通用的了。数据产品的核心还是在于数据的前处理、分析挖掘上面,由于工作利益相关 在此不多做介绍,本质还是结合业务、市场等提供一些有价值的信息。
传统的BI系统通常构建于关系型数据库之上。随着企业业务量的增大和对用户行为实时提取分析的需要越来越高,传统的BI架构对实时性的分析和大数据量的分析已经无法满足,新的数据分析的解决方案便呼之欲出。
得益于hadoop对大数据和分布式计算的优势、以及丰富的组件,使用hadoop进行BI架构便方便许多。
一个典型的基于hadoop的BI架构如下图所示:
该BI架构主要包括2部分:实时处理部分、离线批处理部分。
实时处理部分:
功能主要是实时获取用户的网站、app等访问记录,分析用户行为轨迹,其数据来源一般是访问日志。数据流:通过flume实时拉取服务器的日志,并将其发送至spark和hadoop。spark利用spark structured streaming组件接收flume发送的日志数据,并在一定的窗口和周期下进行计算。提取出一些用户在此时的基本行为过程,并将结果存储至hbase。这一过程中,会涉及高频的数据读写和计算需求、特别是flume和spark这一块的话对内存的需求量比较大,需要做好硬件配置的规划。同时将日志数据写入一份至hadoop,主要是为了做离线分析的需要。
离线批处理部分:
功能主要是对业务数据(如进销存等)做一些统计分析,这一部分是传统BI项目。同时,结合业务数据和离线日志,可以做一些机器学习方面的应用,比如离线训练推荐系统、预测模型等。这一部分的计算量通常比较大,一般是会安排在机器闲时的时候进行。数据流:业务数据主要是通过sqoop将mysql数据以增量的形式导入hive,日志数据是在实时处理部分已经将其存入了hadoop中,这里直接拿来用就好了。这里的统计分析和机器学习应用可以依赖于hive和spark处理,比较方便。最终的分析结果存入mysql数据库,同时模型可以直接输出,验证之后拿来用。
web服务器部分:
主要有2方面功能:(1)提供数据可视化,由于通常展现形式的图形、图表、地图,这一部分会涉及到比较多的前端插件如ECharts、地图api等。(2)机器学习获得的模型在这里调用,其他应用程序则只需要提交请求则可获得模型的预测结果,将模型与其它服务解耦,方便模型的迭代,同时其他应用程序调用起来也很方便、只需要一个http请求即可。架构的基本组成部分介绍的差不多了,其实这一块基本是通用的了。数据产品的核心还是在于数据的前处理、分析挖掘上面,由于工作利益相关 在此不多做介绍,本质还是结合业务、市场等提供一些有价值的信息。
相关文章推荐
- 架构设计:负载均衡层设计方案(8)——负载均衡层总结上篇
- 架构设计:负载均衡层设计方案(1)——负载场景和解决方式
- Windows_Server_2008_R2_AD_DS架构-第06部分_FSMO、AD的诊断及排故
- 键值对在架构设计里的应用
- 键值对在架构设计里的应用
- 理解RESTful架构
- Android中的架构
- 前端架构
- 网站找不到图片是出现的图片
- 开源代码网站
- Android应用架构之Retrofit和RxJava使用
- 选择合适的监控指标 确保跨境电商网站业务稳步增长
- 选择合适的监控指标 确保跨境电商网站业务稳步增长
- 架构设计:系统间通信(43)——自己动手设计ESB(4)
- 标准Web系统的架构分层
- zabbix架构
- MVP架构 + EventBus 构建项目
- VS2012发布网站详细步骤
- 我的网站管理命令
- 逐步深入三层架构(三)-三层登陆源码分享