You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@hive.apache.org by chen keven <ck...@gmail.com> on 2009/07/20 20:46:04 UTC

Does hive support preparedstatement?

 I'm trying to use preparestament as following, however, I got the
SQLException saying that the setInt method is not supported. Is there any
special requirements to use prepareStatement in hive? where can i find the
user manual for the api.


                statement = _conn.prepareStatement(expression);
                //Set parameters
                for (Integer fieldindex : parameters.keySet() ) {

                    statement.setInt(fieldindex,
Integer.parseInt(parameters.get(fieldindex)));
                }

                statement.executeQuery();

java.sql.SQLException: Method not supported
    at
org.apache.hadoop.hive.jdbc.HivePreparedStatement.setInt(HivePreparedStatement.java:349)
    at
ca.ubc.ece.netsys.db.HiveDatabaseLayer.executeUpdateWithParameter(HiveDatabaseLayer.java:292)
    at
ca.ece.ubc.netsys.graph.EdgeCreator.populateEdgeTable(EdgeCreator.java:109)
    at ca.ece.ubc.netsys.graph.EdgeCreator.run(EdgeCreator.java:49)
    at java.lang.Thread.run(Thread.java:619)


-- 
Thank you,
Keven Chen

RE: Does hive support preparedstatement?

Posted by Eric Hwang <eh...@facebook.com>.
Hi Keven,

I don't believe Hive JDBC currently supports prepared statements. It supports 'prepare' by just saving the query, but does not understand parameter markers within the query.

Regards,
Eric

From: chen keven [mailto:ckeven@gmail.com]
Sent: Monday, July 20, 2009 11:46 AM
To: hive-user@hadoop.apache.org
Subject: Does hive support preparedstatement?

 I'm trying to use preparestament as following, however, I got the SQLException saying that the setInt method is not supported. Is there any special requirements to use prepareStatement in hive? where can i find the user manual for the api.


                statement = _conn.prepareStatement(expression);
                //Set parameters
                for (Integer fieldindex : parameters.keySet() ) {

                    statement.setInt(fieldindex, Integer.parseInt(parameters.get(fieldindex)));
                }

                statement.executeQuery();

java.sql.SQLException: Method not supported
    at org.apache.hadoop.hive.jdbc.HivePreparedStatement.setInt(HivePreparedStatement.java:349)
    at ca.ubc.ece.netsys.db.HiveDatabaseLayer.executeUpdateWithParameter(HiveDatabaseLayer.java:292)
    at ca.ece.ubc.netsys.graph.EdgeCreator.populateEdgeTable(EdgeCreator.java:109)
    at ca.ece.ubc.netsys.graph.EdgeCreator.run(EdgeCreator.java:49)
    at java.lang.Thread.run(Thread.java:619)


--
Thank you,
Keven Chen