Hadoop是个很流行的分布式计算解决方案,是Apache的一个开源项目名称,核心部分包括HDFS及MapReduce。其中,HDFS是分布式文件系统,MapReduce是分布式计算引擎。时至今日,Hadoop在技术上已经得到验证、认可甚至到了成熟期,同时也衍生出了一个庞大的生态圈,比较知名的包括HBase、Hive、Spark等。HBase是基于HDFS的分布式列式数据库,HIVE是一个基于HBase数据仓库系统。Impala为存储在HDFS和HBase中的数据提供了实时SQL查询功能,基于HIVE服务,并可共享HIVE的元数据。Spark是一个类似MapReduce的并行计算框架,也提供了类似的HIVE的Spark SQL查询接口,Hive是基于hadoop的数据分析工具。

很多企业比如银行流水作业很多,数据都是实时更新且数据量很大。会采用hadoop作为底层数据库,借由中间商处理底层数据,然后通过BI系统去连接这些中间数据处理厂商的中间表,接入处理数据,尤其以星环、华为这类hadoop大数据平台商居多,使用也较为广泛。

这里以星环大数据平台与帆软大数据BI工具FineBI的结合应用来简单介绍下。

由于星环也是处理hadoop下的hive数据库,其本质都是差不多的,可以使用Hive提供的jdbc驱动,这个驱动同样可以让FineBI连接星环的数据库并进行一些类关系型数据库的sql语句查询等操作,部分特殊sql的公式需要与星环人员确认是否可以使用。

首先将这些驱动拷贝到报表工程下面,然后重启BI服务器。重启后可以建立与星环数据库的数据连接,最后通过连接进行数据查询。

1、本地部署

下图是FineBI内部测试用的hadoop的jar包(将以下jar包放置于webinf-lib文件夹下),亲测,可连接成功,如下图所示:

2、数据连接

数据连接如下图所示:

测试连接成功之后,点击确定,可直接选择数据库中对应的表加入业务包中,类似于Mysql这些最常见的数据库取表方式。

3、实际分析案例

某银行的总行层面-机构维度-四象限图

(2)总行层面-机构维度-趋势分析

(3)总行层面-产品维度-盈利产品

4.关于FineBI的FineIndex和FineDirect功能

hadoop是底层,hive是数据库,上述案例采用的是FineIndex(cube连)连接,用的是hiveserver的方式进行数据连接的;数据连接成功之后,将hive数据库中的表添加到业务包中,也就是将库中数据拿到我们的多维数据库(FineIndex),当然抓取的过程中也可以读取数据库关联和转义,也可以手动转义和进行关联,同时也可以做一些etl操作如新增公式列/行列转换/join/union/过滤/分组统计/自循环列/新增分组列/使用部分字段等,做过处理的这些数据表用于前端分析。

也就是说数据库-FineIndex-前端分析,这里的FineIndex相当于一个中间库的形式,用来存储数据表,关联转义索引等。这些都对后续前台分析处理数据效率有很大的提升(因为直接sql取数,效率受数据库本身的限制,数据量大时,一般分析工具很容易就卡死升职内存溢出导致系统无响应),这也是FineIndex方案的初衷。FineIndex存在有两个意义,一个是提升效率,一个就是对数据进行二次整合处理。

FineBI还有一个连接方式FineDirect(数据库直连),主要是应对如下需求:

  • 分析结果的实时性

企业用户在使用BI工具的时候,多数情况下是对大量的历史数据进行OLAP分析,但是也有部分用户需要展现结果的实时性。例如金融行业对于交易风险的分析,是对每一笔流水实时进行分析的,如果需要经过构建多维数据库的过程,数据到来就会有延迟,影响分析结果的准确性。但是因为计算的过程交给了数据库,响应速度更多的取决于数据库的性能。

  • 大数据平台的充分利用

随着各种分布式计算方案的不断优化,数据的计算性能也有了快速的发展,计算能力有了显著的提高,不少企业已经有了自己的大数据计算平台,例如hadoop,kylin,greenplum,vertica等,这些平台的对于大数据量的处理性能已经足以满足使用需求,不再有建模的需求,因此FineBI直连引擎提供了对接这些数据平台的功能。

Hadoop技术在商业智能BI中的应用的更多相关文章

  1. 为什么越来越多的企业选择商业智能BI?

    ​在大数据,云计算,工业4.0,物联网等概念概念炒得飞起的年代,现在已经变成某宝天天给我推送我感兴趣的东西.由此可见数据和科技正在慢慢深刻地改变我们的生活. 随着时代的发展,各个企业的内部决策方式也是 ...

  2. 商业智能bi行业现状,BI应用的3个层次

    ​商业智能bi行业现状.传统的报表系统技术上已经相当成熟,大家熟悉的Excel等都已经被广泛使用.但是,随着数据的增多,需求的提高,传统报表系统面临的挑战也越来越多. 1. 数据太多,信息太少 密密麻 ...

  3. 从Hadoop框架与MapReduce模式中谈海量数据处理(含淘宝技术架构) (转)

    转自:http://blog.csdn.net/v_july_v/article/details/6704077 从hadoop框架与MapReduce模式中谈海量数据处理 前言 几周前,当我最初听到 ...

  4. 商业智能(BI)选型手册(转载)

    摘自http://articles.e-works.net.cn/bi/Article126429.htm 1.前言 互联网时代企业数据呈现爆发式增长,全面考验着企业的数据处理和分析能力.面对大容量. ...

  5. 商业智能BI推动制造业智能化转型

    制造业是我国国民经济的支柱产业,是我国经济增长的主导部门和经济转型的基础,如今我国制造业面临技术工艺不精.缺乏市场意识.商贸流通环节多.物流成本大.仓储效率低下等问题,正处在转型的特殊时期. 内忧: ...

  6. 展望 2017年商业智能BI 发展的趋势

    在展望2017年商业智能 BI 发展趋势前,我们先来了解一下商业智能 BI 发展的几个重要阶段. 传统 BI 和新型 BI 的分水岭(2013年) 大背景 在2013年以前相当长的一个周期(2005年 ...

  7. 互联网4.0时代需要商业智能BI

    当今大数据互联网时代飞速发展,德国提出了工业化4.0, 美国提出了产业互联网,而中国提出了两化深度融合战略.越来越多的企业家开始安耐不住了,开始担心自己的企业是否跟的上时代的变化,是否使用了商业智能B ...

  8. 商业智能BI必备的特性

    商业智能BI的本质对企业来说,商业智能BI不能直接产生决策,而是利用BI工具处理后的数据来支持决策.核心是通过构建数据仓库平台,有效整合数据.组织数据,为分析决策提供支持并实现其价值. 传统的DW/O ...

  9. 商业智能BI必备的特性,BI工具介绍

    商业智能BI的本质 对企业来说,商业智能BI不能直接产生决策,而是利用BI工具处理后的数据来支持决策.核心是通过构建数据仓库平台,有效整合数据.组织数据,为分析决策提供支持并实现其价值. 传统的DW/ ...

随机推荐

  1. 强大的版本管理工具 Git

    Git 简介 git 是一款免费.开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目.是 linux 创始人 Linus Torvalds 为了帮助管理 linux 内核开发而开发的一个开 ...

  2. ASP.NET Core:CMD命令行+记事本 创建Console程序和Web Application

    今天看了Scott关于ASP.NET Core的介绍视频,发现用命令行一步一步新建项目.添加Package.Restore.Build.Run 执行的实现方式,更让容易让我们了解.NET Core的运 ...

  3. 不使用回调函数的ajax请求实现(async和await简化回调函数嵌套)

    在常规的服务器端程序设计中, 比如说爬虫程序, 发送http请求的过程会使整个执行过程阻塞,直到http请求响应完成代码才会继续执行, 以php为例子 $url = "http://www. ...

  4. 【 js 性能优化】throttle 与 debounce 节流

    在看 underscore.js 源码的时候,接触到了这样两个方法,很有意思: 我先把实现的代码撂在下面,看不懂的可以先跳过,但是跳过可不是永远跳过哦- 一个是 throttle: _.throttl ...

  5. node.js平台下,利用cookie实现记住密码登陆(Express+Ejs+Mysql)

    本博文需有node.js+express+mysql入门基础,若基础薄弱,可参考博主的其他几篇node.就是博文: 1.下载Mysql数据库,安装并配置 创建用户表供登录使用: 2.node.js平台 ...

  6. Appium 解决手势密码 java

    if(driver.getPageSource().contains("绘制解锁图案")){//检测是否是有手势密码出现 List<AndroidElement> el ...

  7. vue.js中,input和textarea上的v-model指令到底做了什么?

    v-model是 vue.js 中用于在表单表单元素上创建双向数据绑定,它的本质只是一个语法糖,在单向数据绑定的基础上,增加了监听用户输入事件并更新数据的功能: 对,它本质上只是一个语法糖,但到底是一 ...

  8. 2.Redis的基本配置

    一.参数配置 redis.conf的主要配置参数的意义: daemonize:是否以后台daemon方式运行 pidfile:pid文件位置 port:监听的端口号 timeout:请求超时时间 lo ...

  9. C/C++中数组与指针的关系探究

    数组与指针 长期以来,在C/C++中,数组名和指向数组首元素的指针常量到底是以一种什么关系,一直困扰着很多人.很多地方,甚至是一些教科书中都在说,"数组名就是一个指向数组首元素的指针常量&q ...

  10. JS中的函数、Bom、DOM及JS事件

    本期博主给大家带来JS的函数.Bom.DOM操作,以及JS各种常用的数据类型的相关知识,同时,这也是JavaScript极其重要的部分,博主将详细介绍各种属性的用法和方法. 一.JS中的函数 [函数的 ...