Hive thrift服务

如果想启动Hiveserver,可以在后台启动执行这个Hive服务:

hiveserver2 start &

HiveServer使用Thrift提供服务,Thrift提供了一个接口语言.通过这些接口,Thrift编译器可以产生创建网络RPC的多种语言的客户端的代码.

简单处理例子

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;

/**
 * Description
 * Created by qiupeng.wang on 17/5/12.
 */
public class JDBCHive {
    private static String Driver = "org.apache.hive.jdbc.HiveDriver";
    private static String URL= "jdbc:hive2://106.75.9.213:10000/default";
    private static String name ="root";
    private static String password="xxxxx";

    public static void main(String[] args) {
        try{

            Class.forName(Driver);
            Connection  connection  = DriverManager.getConnection(URL,name,password);
            Statement statement = connection.createStatement();
            String sql = "show tables";
            ResultSet  rs  = statement.executeQuery(sql);
            while (rs.next()){
                System.out.println(rs.getString(1));
            }
        }catch (Exception e){
            e.printStackTrace();
        }

    }

}

通过thrift进行通讯,hive支持多语言接口

执行以后可以看到对应的表信息

《Hive thrift服务》 代表通过thrift和hive通讯成功

引入的pom.xml文件


    <properties>
        <!-- 项目属性 -->
        <jdbc.driver.groupId>mysql</jdbc.driver.groupId>
        <jdbc.driver.artifactId>mysql-connector-java</jdbc.driver.artifactId>
        <jdbc.driver.version>5.1.24</jdbc.driver.version>
    </properties>

    <dependencies>
        <!-- jdbc driver -->
        <dependency>
            <groupId>${jdbc.driver.groupId}</groupId>
            <artifactId>${jdbc.driver.artifactId}</artifactId>
            <version>${jdbc.driver.version}</version>
            <scope>runtime</scope>
        </dependency>


        <dependency>
            <groupId>org.apache.hive</groupId>
            <artifactId>hive-jdbc</artifactId>
            <version>1.2.2</version>
        </dependency>
        <dependency>
            <groupId>org.apache.hive</groupId>
            <artifactId>hive-exec</artifactId>
            <version>1.2.1</version>
        </dependency>

        <dependency>
            <groupId>commons-beanutils</groupId>
            <artifactId>commons-beanutils</artifactId>
            <version>1.9.3</version>
        </dependency>
        <dependency>
            <groupId>org.apache.hadoop</groupId>
            <artifactId>hadoop-common</artifactId>
            <version>2.7.3</version>
        </dependency>
        <dependency>
            <groupId>org.apache.hadoop</groupId>
            <artifactId>hadoop-hdfs</artifactId>
            <version>2.7.3</version>
        </dependency>
        <dependency>
            <groupId>org.apache.hadoop</groupId>
            <artifactId>hadoop-mapreduce-client-common</artifactId>
            <version>2.7.3</version>
        </dependency>

        <dependency>
            <groupId>org.apache.hadoop</groupId>
            <artifactId>hadoop-mapreduce-client-core</artifactId>
            <version>2.7.3</version>
        </dependency>

    </dependencies>
    原文作者:topwqp
    原文地址: https://www.jianshu.com/p/15ef29af7568
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞