Java Thrift Hive

import java.util.List;

import org.apache.hadoop.hive.service.HiveClient;
import org.apache.hadoop.hive.service.HiveServerException;
import org.apache.thrift.TException;
import org.apache.thrift.protocol.TBinaryProtocol;
import org.apache.thrift.protocol.TProtocol;
import org.apache.thrift.transport.TSocket;
import org.apache.thrift.transport.TTransport;
import org.apache.thrift.transport.TTransportException;


public class thrift_hive_java {
    private static String HOST = "127.0.0.1";
    private static int PORT = 10000;


    public static void main(String[] args)
    {   
        TTransport transport  = new TSocket(HOST, PORT);
        TProtocol protocol = new TBinaryProtocol(transport);
        HiveClient client = new HiveClient(protocol);
        try {
            long time1 = System.currentTimeMillis();
            transport.open();
            client.execute("select  a, b, c  from tb where a='' and b=''  limit 10");


            List<String> list = client.fetchAll();
            long time2 = System.currentTimeMillis();

            String str = ""; 
            for(int i = 0; i < list.size(); i++)
            {   
                str = list.get(i);
                System.out.println(str);
            }   
            System.out.println("use time : " + (time2 - time1) + " ms." );


        } catch (TTransportException e) {
            e.printStackTrace();
        } catch (HiveServerException e) {
            e.printStackTrace();
        } catch (TException e) {
            e.printStackTrace();
        }   

        try {
            client.shutdown();
        } catch (TException e) {
            e.printStackTrace();
        }   
        transport.close();
    }   
}



javac -Djava.ext.dirs=/usr/bin/hive/lib:. *.java -d ./output/

cd output

java -Djava.ext.dirs=/usr/bin/hive/lib:. thrift_hive_java


1364366310      30054373        12560280
1364366313      30054371        12560280
1364366314      30054372        12560280
1364366315      30054374        12560280
1364366316      30054368        12560280
1387914554      30054375        12560280
1387914554      30054375        12560280
1387914569      30054375        12560280
1387914569      30054375        12560280
1387914582      30054375        12560280
use time : 26592 ms.



 
发布了145 篇原创文章 · 获赞 17 · 访问量 23万+

猜你喜欢

转载自blog.csdn.net/guichenglin/article/details/52808033