Home | About | Sematext search-lucene.com search-hadoop.com
NEW: Monitor These Apps!
elasticsearch, apache solr, apache hbase, hadoop, redis, casssandra, amazon cloudwatch, mysql, memcached, apache kafka, apache zookeeper, apache storm, ubuntu, centOS, red hat, debian, puppet labs, java, senseiDB
 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
NEW: Monitor These Apps!
elasticsearch, apache solr, apache hbase, hadoop, redis, casssandra, amazon cloudwatch, mysql, memcached, apache kafka, apache zookeeper, apache storm, ubuntu, centOS, red hat, debian, puppet labs, java, senseiDB