Home | About | Sematext search-lucene.com search-hadoop.com
 Search Hadoop and all its subprojects:

Switch to Threaded View
Hive >> mail # user >> Hive problem when using JDBC driver and type float


Copy link to this message
-
Hive problem when using JDBC driver and type float
I've run into a problem using the Hive JDBC driver, with tables that contain
floats.  The following two statements work fine in the hive shell, but break
if I execute them through the JDBC driver.

I can create a table like this:

CREATE TABLE simple (
 id int,
 value string,
 amt float
)
ROW FORMAT DELIMITED
STORED AS TEXTFILE

Which works ok.  But then I try this:

select * from simple

This fails with an exception

java.sql.SQLException: Could not create ResultSet:
java.lang.RuntimeException: specifying type float which has not been defined
    at
org.apache.hadoop.hive.jdbc.HiveResultSet.initDynamicSerde(HiveResultSet.java:120)
    at
org.apache.hadoop.hive.jdbc.HiveResultSet.<init>(HiveResultSet.java:74)
    at
org.apache.hadoop.hive.jdbc.HiveStatement.executeQuery(HiveStatement.java:178)
    ...

I'm using Hive 0.5.0, but it's the Cloudera distribution (0.5.0+20).  This
is all running locally on my mac on a standalone cluster.

Also, if I use type "double" instead of "float", then it works.  Which is a
suitable work around for my needs, but I'm wondering what's going on.

Marc