Categories
- All Categories
- 15 Oracle Analytics Sharing Center
- 15 Oracle Analytics Lounge
- 215 Oracle Analytics News
- 43 Oracle Analytics Videos
- 15.7K Oracle Analytics Forums
- 6.1K Oracle Analytics Idea Labs
- Oracle Analytics User Groups
- 78 Oracle Analytics Trainings
- 15 Oracle Analytics Data Visualizations Challenge
- Find Partners
- For Partners
Connecting OBIEE Admintool to Hive : issues with ODBC. Any option ?

We're facing a blocking issue when trying to connect Admintool to a Hive instance by using any ODBC driver.
For a POC we're trying to setup a Hive subject area to be analyzed in OBIEE. Everything seems to work OK
until we try to load the metadata. In this case, the schema is found but no table under it. We can add the
physical table by hand, and then we can successfully launch the row count. We then try to load the rows, but at
this point we've faces a strange behaviour. But let's summarize the steps we've followed.
1) we've downloaded the ODBC drivers to connect to Hive (we've tried with Hortonworks, Cloudera, Microsoft and
MapR, but the results are exactly the same);
2) we've configured the connection to Hive on port 10000 and successfully run the ODBC test (BTW: from
SQLDeveloper we can connect to the same server via JDBC driver and query the tables there);
3) then we start Admintool; once we define the name and password, we then select the ODBC connection;
actually username and password are not strictly needed, but we provide them anyway;
4) next step is the to load metadata; and here is the first issue because we can see the schemas but not
the tables.
5) anyway we go on and insert one schema (we've read there could be problems with more than one schema, so
we just select one); in a blog (by Rittman, who's really "THE" OBIEE guru) it is stated that the tables are not
loaded directly, so we've tried by simply adding a Physical table in the Physical layer under the default schema,
making sure the table does exist;
6) once we've "physically" added the table we proceed with the row count; and we correctly get the number of
rows once we flyover the table name after this;
7) then we try to retrieve the rows and here's the issue; we get the following error message:
We've also digged a little bit and found that the query received by Hive instead of being
SELECT * FROM trucks
it becomes
SELECT FROM trucks
so the '*' is dropped from the SQL statement sent. If we run the same query on Hive we get
exactly the same ParseException error, so it really seems that there's a problem in the
construction of the SQL statement.
Any idea about to fix this ? (if a fix does exists, because after so many attempts we are convinced
it's a bug which can only be fixed by a new release of Admintool)
BTW: we've tried almost all the possible options for the ODBC driver (like "Use native query",
"Use Unicode" and so on) and with regards to Admintool we haven't seen which option
or preference (at physical layer) can influence this anomaly.
Any help is really, really appreciated. Thanks in advance.
Answers
-
Hi!
You need install module "Oracle Call Interface" to your oracle-client
Example:
Blank schemas in BI Administration Tool when importing metadata - ClearPeaks Blog ClearPeaks Blog
After that, the metadata will be displayed
0 -
Thank you, but that doesn't apply to our scenario. The schema is shown and query is sent. Also, we aren't talking about
an Oracle DB.
0 -
That one deserves a "LOL!". Hive over OCI? If you get that to work you're a genius.
0 -
Hive over OCI ? Who is saying that ? I'm just trying to do the following:
OBIEE 11.1.1.9 Now Supports HiveServer2 and Cloudera Impala - Rittman Mead Consulting
but main difference is that instead of Cloudera Impala we have HDP Hive2 but logic is the same. So what's strange here ?
0 -
I replied to this:
3043957 wrote: Hi! You need install module "Oracle Call Interface" to your oracle-client
For your issue it really sounds weird. @rmoff maybe?
0 -
What happens if you take a bit of a different tack, and build a very simple RPD so that the physical query generated is a viable one? I.e. so that it's not trying to do a "SELECT *..." it's more like something OBIEE would actually run in practice, along the lines of "SELECT FOO, COUNT(*) FROM TRUCKS GROUP BY FOO;".
0 -
Could be great, but how ? Here's the part of the local log file of interest. BTW: we've been asked to log a SR for this.
********** Task: 1. Running for (mls): 249 **********
Description: Oracle BI Administration Tool GatewayDbGateway Prepare
DSN:Connection pool;userName:hdfs
SQL:select from daily_data_reading
********** Task: 2. Running for (mls): 249 **********
Description: Producer::ExecuteOnce()
Activity type:Producer::ExecuteOnce()
Repository Name::C:\Program Files\Oracle Business Intelligence Enterprise Edition Plus Client Tools\oraclebi\orainst\bifoundation\OracleBIServerComponent\coreapplication\repository\MANGR.rpd Subject Area Name:: User Name::nQS
Logical Hash of SQL:: 0x0
SQL::
]]
[2016-02-10T11:22:30.641+01:00] [OracleBIServerComponent] [TRACE:1] [] [] [ecid: ] [tid: 1cb8] Unloading RPD. File=C:\Program Files\Oracle Business Intelligence Enterprise Edition Plus Client Tools\oraclebi\orainst\bifoundation\OracleBIServerComponent\coreapplication\repository\MANGR.rpd,ID=15721126618295923893_4241540162174101069, LogicalName: C:\Program Files\Oracle Business Intelligence Enterprise Edition Plus Client Tools\oraclebi\orainst\bifoundation\OracleBIServerComponent\coreapplication\repository\MANGR.rpd [[
file: server\objectmodel\Src\SOPersistRp.cpp; line: 288
]]
0 -
923551 wrote: Could be great, but how ?
Not sure what you're asking. Do you know how to build an RPD?
0 -
Yes. I believe my description was clear enough, but likely it wasn't. I'm just wondering what you mean by:
"so that it's not trying to do a "SELECT *..." it's more like something OBIEE would actually run in practice, along the lines of "SELECT FOO, COUNT(*) FROM TRUCKS GROUP BY FOO;".
I've reached the point when metadata should be loaded, so 'til this point was able to create the RPD. If you look at the first image you would see that the "Mangrovia_HDP" was added to the physical layer.
Was also able to manually add the (already existing) physical table to the schema
and also got the row count of the table. But when displaying the rows, we're facing the problem and the lines I've added were just the output of the Admintool log file.
The problem is that tables (not schemas: these are showed) are not shown by Admintool, not by any our attempt to run a SELECT.
0 -
OK, I got what you're saying. I'm saying, focus on the bigger picture. Whether you can do a View Data or List Table in Import Metadata is kinda irrelevant to the end goal. Annoying, but irrelevant. What you're trying to do is get OBIEE to generate dynamic SQL queries based on the logical requests that your users will submit via Presentation Services against the Presentation Layer.
Therefore, continue to build out your RPD (ignoring that View Data doesn't work) to a very simple level, with a single fact/dim in the business model, single subject area -- and then run a proper query generated in Answers through it. The point of all this is to see what SQL query OBIEE then generates, and if it's a valid Hive one.
0