BI系统,是企业利用数据驱动运营的一个典型系统。BI系统通过发掘企业运行过程中的数据,发现企业的潜在风险、为企业的各项决策提供数据支撑。

传统的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请求即可。

架构的基本组成部分介绍的差不多了,其实这一块基本是通用的了。数据产品的核心还是在于数据的前处理、分析挖掘上面,由于工作利益相关 在此不多做介绍,本质还是结合业务、市场等提供一些有价值的信息。

基于hadoop的BI架构的更多相关文章

  1. 基于Hadoop的大数据平台实施记——整体架构设计[转]

    http://blog.csdn.net/jacktan/article/details/9200979 大数据的热度在持续的升温,继云计算之后大数据成为又一大众所追捧的新星.我们暂不去讨论大数据到底 ...

  2. 基于Hadoop的大数据平台实施记——整体架构设计

    大数据的热度在持续的升温,继云计算之后大数据成为又一大众所追捧的新星.我们暂不去讨论大数据到底是否适用于您的组织,至少在互联网上已经被吹嘘成无所不能的超级战舰.好像一夜之间我们就从互联网时代跳跃进了大 ...

  3. 基于Hadoop开发网络云盘系统架构设计方案

    基于Hadoop开发网络云盘系统架构设计方案第一稿 引言 云计算技术的发展,各种网络云盘技术如雨后春笋,层出不穷,百度.新浪.网易都推出了自己的云盘系统,本文基于开源框架Hadoop设计实现了一套自己 ...

  4. 基于Hadoop的数据仓库Hive

    Hive是基于Hadoop的数据仓库工具,可对存储在HDFS上的文件中的数据集进行数据整理.特殊查询和分析处理,提供了类似于SQL语言的查询语言–HiveQL,可通过HQL语句实现简单的MR统计,Hi ...

  5. Amazon EMR(Elastic MapReduce):亚马逊Hadoop托管服务运行架构&Hadoop云服务之战:微软vs.亚马逊

    http://s3tools.org/s3cmd Amazon Elastic MapReduce (Amazon EMR)简介 Amazon Elastic MapReduce (Amazon EM ...

  6. 基于hadoop的数据仓库工具:Hive概述

    Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供完整的sql查询功能,可以将sql语句转换为MapReduce任务进行运行.其优点是学习成本低,可以通过类 ...

  7. [转] X-RIME: 基于Hadoop的开源大规模社交网络分析工具

    转自http://www.dataguru.cn/forum.php?mod=viewthread&tid=286174 随着互联网的快速发展,涌现出了一大批以Facebook,Twitter ...

  8. Hadoop工程包架构解析

    Hadoop源码解析 1 --- Hadoop工程包架构解析 1 Hadoop中各工程包依赖简述    Google的核心竞争技术是它的计算平台.Google的大牛们用了下面5篇文章,介绍了它们的计算 ...

  9. 基于Hadoop开发网络云盘系统客户端界面设计初稿

    基于Hadoop开发网络云盘系统客户端界面设计初稿 前言: 本文是<基于Hadoop开发网络云盘系统架构设计方案>的第二篇,针对界面原型原本考虑有两个方案:1.类windows模式,文件夹 ...

随机推荐

  1. Microsoft CRM-QueryExpression 成员

      名称 ColumnSet 获取或设置要包含的列. Criteria 获取或设置过滤查询结果的复杂条件和逻辑过滤器表达式. Distinct 获取或设置查询的结果是否包含重复的实体实例. Entit ...

  2. html5之一些通用属性

    dir属性:定义元素内容排序方式(rtl,ltr,auto)contentEditable属性:内容是否可编辑tabindex属性:按tab键激活元素 <!DOCTYPE html>< ...

  3. Spting +Spring MVC+spring date jsp +hibernate+jq

    controller 控制页面跳转 处理前台后台数据交互 访问servicedao层:@Repository 数据库访问层 增删改查 jpa规范了hibernate jap仓库 jpa自动解析 方法名 ...

  4. [LeetCode] Second Minimum Node In a Binary Tree 二叉树中第二小的结点

    Given a non-empty special binary tree consisting of nodes with the non-negative value, where each no ...

  5. [LeetCode] Maximum Average Subarray I 子数组的最大平均值

    Given an array consisting of n integers, find the contiguous subarray of given length k that has the ...

  6. react-router 4实现代码分割(code spliting)

    官方一开始推荐的使用bundle-loader来做代码分割的方式感觉有点麻烦,而且代码看起来有点不舒服.而且需要一直依赖bunder-loader 一开始我想为什么不能像vue一样,直接使用ES的新特 ...

  7. [SDOI 2011]染色

    Description 题库链接 给定一棵有 \(n\) 个节点的无根树和 \(m\) 个操作,操作有 \(2\) 类: 将节点 \(a\) 到节点 \(b\) 路径上所有点都染成颜色 \(c\) : ...

  8. [HNOI2004]敲砖块

    题目描述 在一个凹槽中放置了 n 层砖块.最上面的一层有n 块砖,从上到下每层依次减少一块砖.每块砖 都有一个分值,敲掉这块砖就能得到相应的分值,如下图所示. 14 15 4 3 23 33 33 7 ...

  9. 【CodeVs 6128 Lence的方块们】

    ·希望除了内部人员以外能有人通过这道题,因为这是大米饼第一次改编的题 ·我所见到的"本题原版"的题解也很少,搜索一下应该是: #include<stdio.h> #in ...

  10. VK CUP2017 ROUND 1

    来自FallDream的博客.未经允许,请勿转载,谢谢. ---------------------------------------------------- 和ditoly组队打vkcup,原来 ...