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

Switch to Threaded View
Hive >> mail # user >> Questions about Hive


Copy link to this message
-
Re: Questions about Hive
I believe Hive is not for web users, since it takes several minutes or
even hours to do one query. But I managed to provide a web service via
THRIFT and php.
http://nousefor.net/55/2011/12/php/hbase-and-hive-thrift-php-client/
On Mon, Sep 17, 2012 at 10:42 PM, Hamilton, Robert (Austin)
<[EMAIL PROTECTED]> wrote:
> Hello, something J
>
> Regarding jdbc style: I understand this approach has some limitations, but
> here is an example.
>
> You will need to make sure the hive service is running:
> https://cwiki.apache.org/Hive/hiveserver.html
>
> Here is a sample code that I’ve used for testing. It is not the best java in
> the world but it gets the job done.
>
> You will need to make sure the hive and hadoop jars are on the classpath.
> Note you will have to edit the connectionString.
>
>
>
>
>
> import java.sql.*;
>
>
>
> public class RunSQL {
>
>    private static String driverName > "org.apache.hadoop.hive.jdbc.HiveDriver";
>
>    private static String connectionString > "jdbc:hive://myserver.hp.com:10000/default";
>
>
>
>     public static void main(String[] args) throws SQLException
> ,org.apache.hadoop.hive.ql.metadata.HiveException {
>
>
>
>         String SQLToRun=(args[0]);
>
>
>
>         ResultSet res = null;
>
>
>
>         try {
>
>             Class.forName(driverName);
>
>         } catch (ClassNotFoundException e) {
>
>             e.printStackTrace();
>
>             System.exit(1);
>
>           }
>
>         Connection con = DriverManager.getConnection(connectionString);
>
>         System.out.println("Connected.");
>
>
>
>         Statement stmt = con.createStatement();
>
>
>
>         System.out.println("Running: " + SQLToRun);
>
>         res = stmt.executeQuery(SQLToRun);
>
>         ResultSetMetaData meta=res.getMetaData();
>
>         int numberOfColumns=meta.getColumnCount();
>
>
>
>         System.out.println("Result:");
>
>         while (res.next()) {
>
>                 for (int i=1;i<=numberOfColumns;i++){
>
>                     System.out.print(String.valueOf("\t" +
> res.getString(i)));
>
>                 }
>
>                 System.out.println();
>
>         }
>
>
>
>     }
>
> }
>
>
>
> From: Something Something [mailto:[EMAIL PROTECTED]]
> Sent: Monday, September 17, 2012 12:39 AM
>
>
> To: [EMAIL PROTECTED]
> Subject: Questions about Hive
>
>
>
> Note:  I am a newbie to Hive.
>
>
>
> Can someone please answer the following questions?
>
> 1)  Does Hive provide APIs (like HBase does) that can be used to retrieve
> data from the tables in Hive from a Java program?  I heard somewhere that
> the data can be accessed with JDBC (style) APIs.  True?
>
> 2)  I don't see how I can add indexes on the tables, so does that mean a
> query such as the following will trigger a MR job that will search files on
> HDFS sequentially?
>
>
>
>
> hive> SELECT a.foo FROM invites a WHERE a.ds='2008-08-15';
>
>
> 3)  Has anyone compared performance of Hive against other NOSQL databases
> such as HBase, MongoDB.  I understand it's not exactly apples to apples
> comparison, but still...
>
> Thanks.