java代码操作hive是怎样的

发布时间:2021-11-20 18:12:46 作者:柒染
来源:亿速云 阅读:274

java代码操作hive是怎样的,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

 package cn.com.hivedemo.hivedemo;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.sql.Statement;

import org.apache.hadoop.hive.jdbc.HiveDriver;

/**

 * Hello world!
   使用java操作hive,用maven进行管理依赖 

 *     hive --service hiveserver -p 50000 &  

 <dependency>

<groupId>org.apache.hive</groupId>

<artifactId>hive-jdbc</artifactId>

<version>0.9.0</version>

<exclusions>

<exclusion>

<groupId>org.apache.hadoop</groupId>

<artifactId>hadoop-core</artifactId>

</exclusion>

</exclusions>

</dependency>

   <dependency>

<groupId>org.apache.hadoop</groupId>

<artifactId>hadoop-core</artifactId>

<version>0.20.2</version>

</dependency>

<dependency>

<groupId>org.apache.thrift</groupId>

<artifactId>libthrift</artifactId>

<version>0.8.0</version>

</dependency>

    <dependency>

<groupId>javax.jdo</groupId>

<artifactId>jdo2-api</artifactId>

<version>2.3-eb</version>

</dependency>

  </dependencies>

 */

public class App 

{

    public static void main( String[] args ) throws Exception

    {

        System.out.println( "Hello World!" );

//        createTableDemo();

//        insertTableDemo();

//        selectDemo();

        countDemo();

        showTablesDemo();

    }

    private static final String URLHIVE = "jdbc:hive://hadoop0:50000/default";  

    private static Connection connection = null;  

    public static Connection getHiveConnection() {  

        if (null == connection) {  

            synchronized (HiveDriver.class) {  

                if (null == connection) {  

                    try {  

                        Class.forName("org.apache.hadoop.hive.jdbc.HiveDriver");  

                        connection = DriverManager.getConnection(URLHIVE, "", "");  

                    } catch (SQLException e) {  

                        e.printStackTrace();  

                    } catch (ClassNotFoundException e) {  

                        e.printStackTrace();  

                    }  

                }  

            }  

        }  

        return connection;  

    }  

    
 

    public static void createTableDemo() throws SQLException {  

        String tweetTableSql = "create TABLE IF not EXISTS  student1(name String,age int)";  

        System.out.println("=====createTableDemo begin========");

        Statement stmt = getHiveConnection().createStatement();  

        stmt.execute(tweetTableSql);  

        stmt.close();

        System.out.println("=====createTableDemo end========");

    }  

    public static void insertTableDemo() throws SQLException {  

        String tweetTableSql = "LOAD DATA LOCAL INPATH '/opt/stu.txt' OVERWRITE INTO TABLE student1";  

        System.out.println("=====insertTableDemo begin========");

        Statement stmt = getHiveConnection().createStatement();  

        stmt.execute(tweetTableSql);  

        stmt.close();

        System.out.println("=====insertTableDemo end========");

    }  

    public static void selectDemo() throws SQLException {  

        String tweetTableSql = "select * from student1";  

        System.out.println("=====selectDemo begin========");

        Statement stmt = getHiveConnection().createStatement();  

        ResultSet rs = stmt.executeQuery(tweetTableSql);  

        while(rs.next()){

         System.out.println(rs.getString(1)+rs.getString(2));

        }

        System.out.println("=====selectDemo end========");

    }  

    public static void selectDemo1() throws SQLException {  

        String tweetTableSql = "select * from student1 where name='MM'";  

        System.out.println("=====selectDemo begin========");

        Statement stmt = getHiveConnection().createStatement();  

        ResultSet rs = stmt.executeQuery(tweetTableSql);  

        while(rs.next()){

         System.out.println(rs.getString(1)+rs.getString(2));

        }

        System.out.println("=====selectDemo end========");

    }  

    public static void countDemo() throws SQLException {  

        String tweetTableSql = " select count(*) from  student1 ";  

        System.out.println("=====countDemo begin========");

        Statement stmt = getHiveConnection().createStatement();  

        ResultSet rs = stmt.executeQuery(tweetTableSql);  

        while(rs.next()){

         System.out.println(rs.getString(1));

        }

        System.out.println("=====countDemo end========");

    }  

    public static void showTablesDemo() throws SQLException {  

        String tweetTableSql = " show tables ";  

        System.out.println("=====showTablesDemo begin========");

        Statement stmt = getHiveConnection().createStatement();  

        ResultSet rs = stmt.executeQuery(tweetTableSql);  

        while(rs.next()){

         System.out.println(rs.getString(1));

        }

        System.out.println("=====showTablesDemo end========");

    }  

    /**

     *   JDK使用1.6.0.x

     Exception in thread "main" java.lang.UnsupportedClassVersionError:             org/apache/hadoop/hive/metastore/api/MetaException : Unsupported major.minor version 51.0

    换成1.8就OK

     * 

     */

关于java代码操作hive是怎样的问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注亿速云行业资讯频道了解更多相关知识。

推荐阅读:
  1. Hive基本操作
  2. hive基本操作

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

java hive

上一篇:怎样进行Java Socket通信客户端和服务器的代码介绍

下一篇:怎么搭建Mysql单机实例

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》