Yes,  Hive is meant for batch processing on a very large data set. It's
very latent when compared to other "databases" such as,  MySQL,  but excels
where other databases faulter. For example,  running analysis on several
terabytes of data is not unusual in Hive.

It was mentioned to consider HBase, be sure to understand that this is a
"NoSQL"  database,  and so you will need to re-think a lot of application
logic if it relied on SQL beforehand.

Ricky
 On Sep 17, 2012 6:29 PM, "MiaoMiao" <liy...@gmail.com> wrote:

> 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)
> <robert.hamil...@hp.com> 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:mailinglist...@gmail.com]
> > Sent: Monday, September 17, 2012 12:39 AM
> >
> >
> > To: hive-u...@hadoop.apache.org
> > 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.
>

Reply via email to