BIEE工具连接大数据技术

翻译 2015年11月19日 13:48:41


我们利用Java语言编写MapReduce程序,然后用Apache Hadoop生态圈的其他工具将它们结合起来,这在技术上是相当复杂的。一种名为Hive的工具在HadoopMapReduce上提供类SQL查询层,使得像OBIEE这样的工具可以访问到它们。这样比你亲自用JAVA语言编写自己的MapReduce程序复杂度要低得多。 Hive已经为你写好了,通过ODBCJDBC驱动器返回数据到OBIEEODI。下图展示了这种机制构建的数据层:

基于上图,Hive拥有它自己的元数据层、服务器引擎和数据存储,开发者加载到Hive表中的数据其实存储在HDFS文件系统中,就像MapReduce处理任何其他数据一样。当通过Hive发起查询,Hive服务器动态生成MapReduce程序去查询底层数据,以一种类似于交互式数据库SQL会话的形式返回数据给用户,比如:

markmacbookpro:~ markrittman$ sshoracle@bigdataliteoracle@bigdatalite's password:Last login: Wed Apr 17 04:02:592013 from192.168.2.200==========================================================================================================Welcometo BigDataLiterun startx at the command line for X-Windowsconsole==========================================================================================================

Host: bigdatalite.us.oracle.com[192.168.2.35]

[oracle@bigdatalite~]$hiveHive historyfile=/tmp/oracle/hive_job_log_oracle_201304170403_1991392312.txt

hive> showtables;OKdwh_customerdwh_customer_tmpi_dwh_customerratingssrc_customersrc_sales_personweblogweblog_preprocessedweblog_sessionizedTimetaken: 2.925 seconds

hive> select count(*) fromsrc_customer;Total MapReduce jobs = 1Launching Job 1 out of 1Number of reducetasks determined at compile time: 1In order to change the average load for areducer (in bytes):set hive.exec.reducers.bytes.per.reducer=In order to limitthe maximum number of reducers:set hive.exec.reducers.max=In order to set aconstant number of reducers:set mapred.reduce.tasks=Starting Job =job_201303171815_0003, Tracking URL =http://localhost.localdomain:50030/jobdetails.jsp?jobid=job_201303171815_0003KillCommand=/usr/lib/hadoop-0.20/bin/Hadoop job-Dmapred.job.tracker=localhost.localdomain:8021 -killjob_201303171815_00032013-04-17 04:06:59,867 Stage-1 map = 0%, reduce =0%2013-04-17 04:07:03,926 Stage-1 map = 100%, reduce = 0%2013-04-1704:07:14,040 Stage-1 map = 100%, reduce = 33%2013-04-17 04:07:15,049 Stage-1map = 100%, reduce = 100%Ended Job = job_201303171815_0003OK25Time taken: 22.21seconds

hive>

在上例中,我们连接到Hive环境,列出我可用的“表”,后台运行src_customers表中的“行”计数,引起MapReduce进程在后台Hive服务器中写入和执行。Hive被称为“Hdoop数据仓库”,但它不是你我熟知的数据仓库——例如你通常不会用HadoopHive去存储顾客交易数据,但你可能会用它存储Facebook网的交互数据,或者你网站的最受欢迎的页面或者常用访问路径,同时网站分析的工作人员倾向于用一种更友好的方式进行交互式数据查询而不是他们自己编写Java程序的方式。因此OBIEE如何访问这数据,你在原来的基础上需要哪些额外的软件或者配置块来实现呢?

    如果你想OBIEE11g访问Hadoop数据,最好用11.1.1.7以上版本,因为它是测试得最多和最稳定的版本。需要对驱动器进行两点配置:一是在服务器级(Hadoop访问只支持OBIEE 11.1.1.7Linux服务器设备),二是基于Windows管理工具级。基于《11.1.1.7 Metadata Repository Builder'sGuide》手册,我们先从BI Administration tool开始。

     为了让BIAdministration tool 连接Hadoop/Hive数据源,需要通过Oracle支持网站(My Oracle Support)下载文档标识为DocID 1520733.1 Hadoop ODBC驱动。它提供了一套Hive ODBC驱动和PDF文档解释安装过程,一旦安装了驱动后,需要打开ODBC数据源管理程序,创建一个新的HiveODBC数据源。在本实例中,对服务器名后面命名数据源为"bihdatalite",其他项保持默认值。注意"default""database"Hive中的名称,端口号是Hive服务器运行的端口。

现在创建一个新的离线资料库,连接到Hive服务器,通过HiveODBC连接导入表的元数据到RPD中。注意连接当前的展现形式,同时可以导入多个Hive数据库中的表到RPD中。发起的查询不能跨Hive数据库(例如,不能给表名指定一个前缀schema名,因此不能关联两个schema)。

导入Hive表元数据到RPD中后,更改物理数据库类型为"Apache Hadoop",从元数据导入过程自动添加了的默认的ODBC3.5设置。保留连接池调用接口ODBC2.0,在共享登陆信息中输入任意以前的用户名和密码(或者有效的用户名/密码,如果Hive安全是激活状态),保存资料库。

现在你可以在BIAdministration tool中用 View Data ”查看Hive表的数据,如下:

现在跳转到OBIEE的服务器部分,配置ODBC连接到HiveOBIEE 11.1.1.7附带的DataDirect驱动是已经安装了的且能连接到Hive,因此,以下是通过配置OBIEE odbi.ini文件连接相同名称的HIVE数据源案例

 

[ODBC DataSources]AnalyticsWeb=Oracle BI ServerCluster=Oracle BI ServerSSL_Sample=OracleBI Serverbigdatalite=Oracle 7.1 Apache Hive Wire Protocol

[bigdatalite]Driver=/u01/app/Middleware/Oracle_BI1/common/ODBC/Merant/7.0.1/lib/ARhive27.soDescription=Oracle7.1 Apache Hive WireProtocolArraySize=16384Database=defaultDefaultLongDataBuffLen=1024EnableLongDataBuffLen=1024EnableDescribeParam=0Hostname=bigdataliteLoginTimeout=30MaxVarcharSize=2000PortNumber=10000RemoveColumnQualifiers=0StringDescribeType=12TransactionMode=0UseCurrentSchema=0

注意用DataDirect7.1驱动配置OBIEEOPMN特征,而不是默认的以前的驱动。对于RPD而言,只需要基于Hive表源建立业务模型,用EM上传,使其在线运行在你安装好的OBIEE服务器设备上,最后你的RPD类似于下图:

最后,就像任何其他数据源的分析一样,你可以基于这些数据建立OBIEE分析,除去在查询开始的时候有大量的滞后和延迟,因为,Hive会在它的java环境中运转,写入MapReduce 查询,然后发送回数据到OBIEEBI Server中。

如何获取数据到Hive,在后台创建这些表,通过Hadoop MapReduce访问?下次我们介绍Oracle数据集成中间件如何用于加载数据到Hive,正如用Hadoop或者其他大数据技术执行数据集成任务一样。

相关文章推荐

10款超好用的工具助力大数据与分析技术

考虑到现有技术解决方案的复杂性与多样化,企业往往很难找到适合自己的收集与分析工具。然而,混乱的时局之下已经有多种方案脱颖而出,证明其能够帮助大家切实完成大数据分析类工作。下面我们将整理出一份包含十款工...

大数据分析工具盘点-你不知道的15个新技术

大数据中的大作为,最近几周业内都忙碌着,很多初创公司和一些老牌的公司都推出了数据分析和数据管理产品,以及更新了现有产品,提供更丰富的功能与性能。   虽然这些技术都还只是蓝图规划,但是一些常见的主题...

10款超好用的工具助力大数据与分析技术

考虑到现有技术解决方案的复杂性与多样化,企业往往很难找到适合自己的大数据收集与分析工具。然而,混乱的时局之下已经有多种方案脱颖而出,证明其能够帮助大家切实完成大数据分析类工作。下面我们将整理出一份包含...

BIEE 11g管理工具导入Essbase 11元数据

对于只在windows上安装了BI Admin tools客户端的情况,如果需要导入Essbase元数据,需要自行安装Essbase Client。 首先需要从https://edelivery.or...

BIEE 12c linux下连接mysql数据源

操作系统:Oracle Linux Server release 6.5 64bit BIEE版本:12.2.1.1.0 同11g一样,12c虽然biee自带了datadirect的mysql驱动,但...

BIEE 11g linux下连接mysql数据源

对于连接MySQL数据源,BIEE提供两种不同的方式,一是使用自带的Datadirect ODBC驱动,二是使用MySQL原生的ODBC驱动(Connector/ODBC)。 不过遗憾的是本人未能将使...

BIEE 连接SQLServer业务数据源(Linux环境)

biee11g默认安装了mssqlserver的数据驱动,不需要在服务器端进行重新安装,配置过程主要基于ODBC实现,本文主要介绍客户端为windows服务端为linux系统的配置过程。 1、客户端...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)