我是靠谱客的博主 愤怒猫咪,最近开发中收集的这篇文章主要介绍hive-查询元数据,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

import  java.sql.SQLException;
import  java.sql.Connection;
import  java.sql.ResultSet;
import  java.sql.Statement;
import  java.sql.DriverManager;
 
public  class  HiveJdbcClient {
   private  static  String driverName =  "org.apache.hive.jdbc.HiveDriver" ;
 
   /**
    * @param args
    * @throws SQLException
    */
   public  static  void  main(String[] args)  throws  SQLException {
       try  {
       Class.forName(driverName);
     catch  (ClassNotFoundException e) {
       // TODO Auto-generated catch block
       e.printStackTrace();
       System.exit( 1 );
     }
     //replace "hive" here with the name of the user the queries should run as
     Connection con = DriverManager.getConnection( "jdbc:hive2://localhost:10000/default" "hive" "" );
     Statement stmt = con.createStatement();
     String tableName =  "testHiveDriverTable" ;
     stmt.execute( "drop table if exists "  + tableName);
     stmt.execute( "create table "  + tableName +  " (key int, value string)" );
     // show tables
     String sql =  "show tables '"  + tableName +  "'" ;
     System.out.println( "Running: "  + sql);
     ResultSet res = stmt.executeQuery(sql);
     if  (res.next()) {
       System.out.println(res.getString( 1 ));
     }
        // describe table
     sql =  "describe "  + tableName;
     System.out.println( "Running: "  + sql);
     res = stmt.executeQuery(sql);
     while  (res.next()) {
       System.out.println(res.getString( 1 ) +  "t"  + res.getString( 2 ));
     }
 
     // load data into table
     // NOTE: filepath has to be local to the hive server
     // NOTE: /tmp/a.txt is a ctrl-A separated file with two fields per line
     String filepath =  "/tmp/a.txt" ;
     sql =  "load data local inpath '"  + filepath +  "' into table "  + tableName;
     System.out.println( "Running: "  + sql);
     stmt.execute(sql);
 
     // select * query
     sql =  "select * from "  + tableName;
     System.out.println( "Running: "  + sql);
     res = stmt.executeQuery(sql);
     while  (res.next()) {
       System.out.println(String.valueOf(res.getInt( 1 )) +  "t"  + res.getString( 2 ));
     }
 
     // regular hive query
     sql =  "select count(1) from "  + tableName;
     System.out.println( "Running: "  + sql);
     res = stmt.executeQuery(sql);
     while  (res.next()) {
       System.out.println(res.getString( 1 ));
     }
   }
}

最后

以上就是愤怒猫咪为你收集整理的hive-查询元数据的全部内容,希望文章能够帮你解决hive-查询元数据所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(44)

评论列表共有 0 条评论

立即
投稿
返回
顶部