Monday, July 8, 2013

OBIEE 11.1.1.7 - Working with Hadoop / Hive (Real-World Case)

Dec-2015 remark:  Please note this is an old post. For better results with Hadoop, Impala, Hive... please use OBIEE 11.1.1.9 or later.


A colleague of mine, Tovit, has done a POC with OBIEE 11.1.1.7, on top of Hadoop (few Petabytes), using Hive. While she was working, I took the role of "fly on the wall" and did some documentation.
There are 3 good sources for relevant information at the moment:
1. From Support.oracle.com, the note OBIEE 11g: Using Oracle Hadoop ODBC Driver with BI Administration Tool [ID 1520733.1].
2. Oracle Documentation here.
Since I mostly write this blog for myself, I wanted it to be slightly more detailed than that blog.

The guideline is to use OBIEE on Linux if you want to work with Hadoop. Why? A good reason is "because the people that developed the product tells you so". I can add one more, we tried it on Windows box as well and Linux OBIEE works much better.

The support note "describes how to use the Oracle Apache Hadoop Hive ODBC Driver with the Oracle BI Administration tool for the purpose of creating Oracle BI metadata from Hadoop Data sources" and attach 32-bit and 64-bit versions of the driver. So download the ODBC drivers for Hive from this note and install them on your Administrator PC.
Remember to run the install.bat as Windows Administrator (otherwise you can't have access to registry). So the result is:

Run the Data sources(ODBC) from Control Panel /  Administrative Tools on Windows. Under System DSN Add a new data source of Apache Hadoop Hive.
Fill relevant data, while Port and Database refer to Hive definitions:
 We didn't change the defaults for the other tabs.

Now from the client OBIEE Administration you can import the data structure using the Hadoop Hive ODBC definition (File -> Import Metadata -> ODBC 3.5).

After the import change the Database definition to Apache Hadoop.


Leave the connection pool to be ODBC 2.0.

 We had one problem at this moment. For some reason the a column that was used for partitioning, was not imported. So we had to add it manually.
One more advise, all the columns should be nullable.

At this point you should be able to see the data (right click, View Data). Next is standard OBIEE repository work.

Now we move to the OBIEE Linux server.
In 11.1.1.7 the Hive ODBC by DataDirect are already installed.
You have to modify the odbc.ini file, this one:
oracleHome/instances/instance1/bifoundation/OracleBIApplication/coreapplication/setup/odbc.ini

As always the server ODBC, should fit the Administrator ODBC name.

We added the following, non black part (replace XXXXXX, YYYYYY, ZZZZZZ with your values):

[ODBC Data Sources]
AnalyticsWeb=Oracle BI Server
Cluster=Oracle BI Server
SSL_Sample=Oracle BI Server
OBIEELNX=Oracle 7.1 Apache Hive Wire Protocol

[OBIEELNX]
QEWSD=2456476
Driver=/opt/oracle/obiee/Oracle_BI1/common/ODBC/Merant/7.0.1/lib/ARhive27.so
Description=DataDirect 7.1 Apache Hive Wire Protocol
ArraySize=16384
Database=default
DefaultLongDataBuffLen=1024
EnableDescribeParam=0
HostName=XXXXXXXXX
LoginTimeout=30
LogonID=ZZZZZZZZZZ
MaxVarcharSize=2147483647
Password=YYYYYYYYYY
PortNumber=10001
RemoveColumnQualifiers=0
StringDescribeType=12
TransactionMode=0
UseCurrentSchema=0

See another example in the documentation here.

Locate the opmn.xml file 
oracleHome/instances/instance1/config/OPMN/opmn/opmn.xml

In the file, Locate the coreapplication_obis1 tag, and within that tag, locate the LD_LIBRARY_PATH variable. Ensure that the LD_LIBRARY_PATH variable includes the path to the DataDirect 7.0.1 driver, namely ORACLE_HOME/common/ODBC/Merant/7.0.1/lib.

In the same opmn.xml file, either above or below the LD_LIBRARY_PATH variable, create the HADOOP_DLL variable to point to the DataDirect 7.0.1 driver.

For example:
<variable id="HADOOP_DLL"
value="ORACLE_HOME/common/ODBC/Merant/7.0.1/lib/ARhive27.so"/>


Save and close the file.

Restart OPMN.

Create a soft link libARicu27.so pointing to libARicu26.so.
For example:
cd /usr/Oracle_BI1/common/ODBC/Merant/7.0.1/lib/
ln -s libARicu26.so libARicu27.so
 


In Oracle documentation there is a bit misleading  part, at the moment, starting with Acquiring Windows Driver to Enable Data Import Using Administration Tool and till the end of the subject (the limitation part). Since we did it already with the drivers provided by the support, we don't need to do it as described in the document.



Now you are ready to go.


When the queries run you can clearly see the steps in the Session Manager:
Executing, Preparing, Fetching, fetched, Preparing.
 
We couldn't cancel a query during the Executing stage.

It seems Oracle has done a good job here and the results seems encouraging.
 

Sunday, July 7, 2013

analyticsRes - having your own place on the OBIEE server

This post is very unnecessary, it's covered quite well in the Oracle White paper: Customizing Oracle Business Intelligence Enterprise Edition 11g. Unfortunately, people get intimidated by the 12 pages it contains. the good news, we are interested here in only few of them.

Why do you want to deploy your own directory on the server? So you can keep your own staff there: Your customizations, your pictures, your java scripts... You might have lots of things you want to have handy at any moment you want them.

The process takes about 5 minutes and it's very useful (OK I need it to write few new posts and fix some old ones, using this option).


1. Login the weblogic console. 
(for my box named bdahab-lap, its http://bdahab-lap:7001/console/ )

2. Select Deployments on the left and press Lock & Edit. Now click the Install button.


3.  Enter the path to analyticsRes:
ORACLE_INSTANCE/bifoundation/OracleBIPresentationServicesComponent/coreapplication_obips1
In my case it was:
D:\or\MWHOME\instances\instance1\bifoundation\OracleBIPresentationServicesComponent\coreapplication_obips1
Now you are supposed to see analyticsRes.
Select it (the radio button).
Press next.
4. Accepts the default and press Next.
 5.If you have the following screen, select BI Server
6. And now comes the tricky part. The next screen requires you to actively select the option: and not just click next.
Now press Finish.

7. You return to the Deployment screen. Press "Activate changes" (on the left), to release the lock from step 2.
8. Select analyticsRes (by marking the check-box on the left) and press the Start button (Servicing all requests) 
Now analyticsRes should be Active and Health OK.

9. Next you should be able to access the content of analiticsRes using the URL: http://host:port/analyticsRes 
in my case: http://bdahab-lap:9704/analyticsRes/
Well, that is not 100% correct. This specific URL will actually return:

Error 403--Forbidden


But if you put anything in that directory on the server, for example my son asked for the picture kirby.png, located at D:\or\MWHOME\instances\instance1\bifoundation\OracleBIPresentationServicesComponent\coreapplication_obips1\analyticsRes on my server (remember it from step 3?).
Now the following URL: http://bdahab-lap:9704/analyticsRes/kirby.png works. 

What is even better, within OBIEE the URL /analyticsRes/kirby.png is suficient.

For example:
This Embedded content object in Dashboard:
 Results in this screen:

I'm not sure showing Kirby is a classical business case, but I'm sure we will see better in the near future.

If you are in 11.1.1.7.X,  there are some changes in default Style and skin that the above mentioned paper doesn't cover. You might like to have a look at hekatonkheires.blogspot (Custom style and skin in OBIEE 11.1.1.7)

Thursday, July 4, 2013

OBIEE Mobile HD is available for IPAD and Iphone (as well)

Oracle made new version of OBIEE Mobile HD application available in APPS store.
The version is 11.1.1.7.0.1879 and the big news is that it's available for iphone as well.

There is a cool feature in it for people like me, those who demo the product. There is built in DEMO option, if you don't have a real source.

Here it is on my IPAD:



Here it in on my iphone:

As usual, there is a BI Mobile security toolkit, for serious developers... HERE.

Friday, June 28, 2013

OBIEE 11.1.1.6.11 is available for OBIEE and Exalytics + bug fixed

The patch 11.1.1.6.11 is available from Oracle support site (support.oracle.com). The first part of the patch is Patch 16747681

It's the most updated / latest version (actually patch bundle) of OBIEE, installed on top of the basic 11.1.1.6.0 version.

It can be installed on OBIEE 11.1.1.6.0, 11.1.1.6.1, 11.1.1.6.2, 11.1.1.6.2 BP1, 11.1.1.6.4,11.1.1.6.5, 11.1.1.6.6, 11.1.1.6.7, 11.1.1.6.8, 11.1.1.6.9 and  11.1.1.6.10.

As usual, the real patch has 7+1 parts. The installation steps for the first 7 are similar. I recommend reading the first readme – patch 16747681 readme file. 

Since 11.1.1.7 is available, I suspect we will not see many more 11.1.1.6.X patches.

The Oracle Business Intelligence 11.1.1.6.11 patchset comprises a number of patches:
Patch Abstract
16747681 Patch 11.1.1.6.11 (1 of 7) Oracle Business Intelligence Installer
16747684 Patch 11.1.1.6.11 (2 of 7) Oracle Real Time Decisions
16747692 Patch 11.1.1.6.11 (3 of 7) Oracle Business Intelligence Publisher
16747699 Patch 11.1.1.6.11 (4 of 7) Oracle Business Intelligence ADF Components
16747703 Patch 11.1.1.6.11 (5 of 7) Enterprise Performance Management Components Installed from BI Installer 11.1.1.6.x
PLEASE note, this is platform specific patch (Windows 32, 64, Linux X86, X86-64, IBM AIX Power 64, Solaris SPARC 64, Solaris X86-64, HP-UX Itanium)
16717325 Patch 11.1.1.6.11 (6 of 7) Oracle Business Intelligence
PLEASE note, this is platform specific patch (Windows32,  64, Linux X86-64, IBM AIX Power 64, Solaris SPARC 64, Solaris X86-64, HP-UX Itanium) 
16747708 Patch 11.1.1.6.11 (7 of 7) Oracle Business Intelligence Platform Client Installers and MapViewer

Additionally there is the patch number 8, it is named JDeveloper Patch, but it is for OBIEE as well. It's the same patch you used if you installed 11.1.1.6.2 BP1 or later. So if you already installed it, I see no reason to do it again.
Patch 13952743JDeveloper patch -   - RUP3 MLR4.3  CUMULATIVE: BASED ON JDEVADF_11.1.1.6.2_GENERIC_120329.1447.6268.1 (last release 11.1.1.6.2)
The installation steps are same as 11.1.1.6.2 BP1 as we described here.
Please note, that readme tell you to do the following backups:
  • The ORACLE_HOME\bifoundation\server directory
  • The ORACLE_INSTANCE\bifoundation\OracleBIServerComponent\coreapplication_obis1\repository
  • The ORACLE_BI_HOME\bifoundation\jee\mapviewer.ear\web.war\WEB_INF\conf\mapViewerConfig.xml, if you have modified it. This last bullet is relevant to those who configured the OBIEE Maps (described, in Hebrew here).
HP Itanium users, please note: HP Itanium platform must first download and apply patch 14016752 from My Oracle Support.

 I'm not aware of any new features in 11.1.1.6.11.

Bugs Fixed By This Patch

Publisher

13496612: EXPORT TRELLIS TO EXCEL 2007 DOES NOT RENDERED THE IMAGE IN THE CORRECT PLACE
14733191: DATA FIELDS THAT CONTAIN A BACKSLASH '\' IN A PARAMETER CAUSE DATA MODEL TO FAIL
15886427: SCHEDULED JOBS NOT RUNNING AS SCHEDULED IN 11.1.1.6.5
15986061: SECTION 508 MENU SELECTION NOT WORKING IN IE8
16310873: CELL PADDING CALCULATIONS FOR PDF, RTF AND HTML OUTPUTS ARE NOT THE SAME
16384964: CONDITIONAL FORMATS ARE NOT DEEPLY COPIED FOR EACH SHEET IN EXCEL TEMPLATE
16440558: JVM OUT OF MEMORY WHILE ADDING IMAGE TO BIP REPORT
16453917: INCONSISTENT ALIGNMENT IN INTERACTIVE REPORTS WITH PIVOT TABLES USING IE9.0
16478234: KEEP-WITH-NEXT.WITHIN-PAGE-ATTRIBUTE SET TO "ALWAYS"UNWANTED PAGE BREAK IN PDF
16478894: LOCAL SUPER USER LOGIN FAILS
16532915: REQUIRE CONFIGURATION OPTION TO CREATE PDF FILES WITH OR WITHOUT EXTGSTATE
16724466: BIPUBLISHER REPORTS "PROCESSING CLOCK","CANCEL BUTTON" AND "NO DATA FOUND" MSG


EPM

13974353: CONNECTION STRING USED TO ACCESS LEASING TABLE IS INCORRECT


OBIEE

13860440: REPORT SHOWS AN ERROR WHEN A FILTER CONTAINS [ ] AGAINST ESSBASE
14080494: DELIVERS NOT ABLE TO SEND CONTENT USING DX-MAIL AS SMTP SERVER
14246348: SORTING NOT WORKING ON MEASURE COL WITH A COLUMN IN THE PIVOT TABLE PROMPTS
14301662: EXPORTED EXCEL LINES ARE MISSING
14406555: ACTION LINK INTERACTION FAILS WITH GETLEVELINFO ERROR
14482447: DRILL DOWN IS NOT CORRECT INTO BUBBLE GRAPH WHEN DIMENSION USED FOR VARY COLOR
14527683: BUBBLE CHART WITH CONDITIONAL FORMATTING ON CASE STATEMENTS SHOWS ONLY ONE COLOR
14571347: THE MASTER DETAIL ACTIVITY IS NOT PERFORMING CORRECTLY ON PARETO GRAPH
14641758: 10G TO 11G UPGRADE: PARSER LOGIC DOES NOT ACCEPT NEGATIVE NUMBERS IN MEMBER NAME
14771782: IBOTS CALLING JAVA PROGRAM IN CLUSTER STICK AT STATUS 'RUNNING'
14832580: SEGMENT TREE PERFORMANCE WHEN SAMPLING REMAINDER BRANCH
14839368: RESTORE SUPPORT FOR VALUE SUPPRESSION IN DOWNLOADS TO EXCEL 2003
15863409: PROMPTS FROM CONDITIONAL SECTION DO NOT APPEAR IN PROMPT BAR.
15867064: SELECTION RULES: SUBJECT AREAS NOT SHOWN FOR ONE TARGET LEVEL
16081724: SPECIFICATIONS FOR THE COLOR OF GRIDLINES ARE NOT APPLIED CORRECTLY
16088305: COLUMN DATA MISSING WHEN VIEW IN BI OFFICE USING EXCEL
16222516: COMPILATION TIME FOR A SPECIFIC REPORT TAKES TOO LONG
16270623 ASSERTION ERROR IN FILE PREKNOWNMETADATA WHEN ADVANCED SQL SETTING EXISTS
16281981: BI SERVER CRASH
16285224: SAVED CUSTOMIZATIONS ARE IGNORED, NOT APPLIED, WHEN VIA IBOT / AGENT
16321247: INVALID SCHEMA VALIDATION FOR CALCULATED ITEM WITH CONCAT FUNCTION
16323282: SAWSERVER GENERATING CORE DUMP SAW::CONDITIONALREQUESTEVALUATOR
16326283: DYNAMIC REPOSITORY VARIABLES NOT BEING READ FROM CSV FILE UPGRADE FROM 10G
16342203: ACTION LINK TO DASHBOARD PAGE SECTION THE CONDITIONS EVALUATE WRONG
16353193: OBIEE EDIT FILTER DOES NOT SHOW DROP DOWN ON EDIT SEGMENT
16365896: ODBC ERROR IN CONDITIONAL FORMATTED REPORT AFTER UPGRADE FROM 10G.
16423872: AFTER APPLY 11.1.1.6.6G JAVAHOST STARTS CRASHING.
16447124: RAGGED HIERARCHY IN ORACLE OLAP DOES NOT WORK IN ANSWERS ANALYSIS
16480156: HIERARCHY WITH SELCTION STEPS AND WITH OVERRIDE PROMPTS CAUSES LOGOUT
16498595: INCORRECT RESULTS DURING THE NAVIGATION AFTER SELECTING A PIVOT TABLE PROMPT
16516420: SAWSERVER CRASH AFTER MERGE PATCH 16300022 WAS APPLIED
16558154: OBIEE 6.9: GRAPHING ENGINE NOT RESPONDING FOR FEW REPORTS AFTER UPGRADE
16563394: ORDER BY ITEMS MUST APPEAR IN THE SELECT LIST IF SELECT DISTINCT IS SPECIFIED
16606433: INVALID COLUMN IN SELECT LIST NOT CONTAINED IN EITHER AGGREGATE FN OR GRP BY
16624321: INFINITE LOOP IN PS WHEN IBOT DELIVERED CONTENT CONTAINS ILLFORMED LINE ENDINGS
16680403: KEEP ONLY RELATED FEATURE WITH REPORT BASED ON HIERARCHY COLUMNS CRASHES BIPS
16694816: PRESENTATION SERVER CRASH DURING QUERYCACHE CLEANUP OF OLD WAITING CURSORS
16779536: LABELS ARE MISSING ON SOME DASHBOARD PROMPT COLUMNS AFTER APPLYING 6.10


Known Bugs With This Patch

14228519: ADMINTOOL CLIENT MISSING ALL FILES UNDER EXTENDER DIRECTORY IN CLIENT INSTALLER
14244844: NAVIGATE TO URL ACTIONS BASED ON ENCODED URLS MAY RESULT IN DOUBLE ENCODING
14743304: FIX FOR BUG 14170374 REQUIRES ADDITIONAL CHANGE TO OPMN.XML
15854192: ERROR MESSAGE RETRIEVED WHEN TRYING TO CREATE AGENT WITH EMAILS AS RECIPIENTS
16531368: DOCUMENT THE ROW SPANNING ISSUE IN RELEASE 11.1.1.6.10
16687063: FIX FOR BUG 15911537 REQUIRES ADDITIONAL SETTING TO THE INSTANCECONFIG.XML FILE