Oracle Analytics Cloud and Server

Welcome to the Oracle Analytics Community: Please complete your User Profile and upload your Profile Picture

Connecting OBIEE Admintool to Hive : issues with ODBC. Any option ?

Received Response
55
Views
13
Comments
923551
923551 Rank 3 - Community Apprentice

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.

Connection_OBIEE_BigData.PNG

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:

ErroreSQL.PNG

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.

«1

Answers

  • Frog Toad
    Frog Toad Rank 4 - Community Specialist

    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

  • 923551
    923551 Rank 3 - Community Apprentice

    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.

  • [Deleted User]
    [Deleted User] Rank 2 - Community Beginner

    That one deserves a "LOL!". Hive over OCI? If you get that to work you're a genius.

  • 923551
    923551 Rank 3 - Community Apprentice

    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 ?

  • [Deleted User]
    [Deleted User] Rank 2 - Community Beginner

    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?

  • rmoff
    rmoff Rank 6 - Analytics Lead

    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;".

  • 923551
    923551 Rank 3 - Community Apprentice

    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

    ]]

  • rmoff
    rmoff Rank 6 - Analytics Lead
    923551 wrote:
    
    Could be great, but how ? 
    
    

    Not sure what you're asking. Do you know how to build an RPD?

  • 923551
    923551 Rank 3 - Community Apprentice

    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.

  • rmoff
    rmoff Rank 6 - Analytics Lead

    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.