Hive 创建数据库



  • Hive 创建数据库

    Hive是一种数据库技术,可以定义数据库和表来分析结构化数据。结构化数据分析的主题是以表格形式存储数据,并传递查询以对其进行分析。本章介绍如何创建Hive数据库。Hive包含一个名为default的默认数据库。
  • 创建数据库语句

    创建数据库是用于在Hive中创建数据库的语句。Hive中的数据库是名称空间或表的集合。该语句的语法如下:
    
    CREATE DATABASE|SCHEMA [IF NOT EXISTS] <database name>
    
    
    此处,IF NOT EXISTS是一个可选子句,它通知用户已经存在具有相同名称的数据库。我们可以在此命令中使用SCHEMA代替DATABASE。执行以下查询以创建名为userdb的数据库:
    
    hive> CREATE DATABASE [IF NOT EXISTS] userdb;
    
    
    或者
    
    hive> CREATE SCHEMA userdb;
    
    
    以下查询用于验证数据库列表:
    
    hive> SHOW DATABASES;
    default
    userdb
    
    
    使用JDBC程序
    下面给出了用于创建数据库的JDBC程序。
    新版HIVE,应该启动hiveserver2,hiveserver服务已经没有。启动流程如下:
    • start-dfs.sh
    • start-yarn.sh
    • hive --service hiveserver2
    启动后可以用beeline -u jdbc:hive2://localhost:10000 连接测试 上面启动hiveserver2同时也启动了一个webui,在浏览器可以通过http://ip:10002 来查看
    
    import java.sql.SQLException;
    import java.sql.Connection;
    import java.sql.ResultSet;
    import java.sql.Statement;
    import java.sql.DriverManager;
    
    public class HiveCreateDb {
       private static String driverName = "org.apache.hive.jdbc.HiveDriver";
       
       public static void main(String[] args) throws SQLException {
          //注册驱动程序并创建驱动程序实例
       try {
          Class.forName(driverName);
             // 获取连接
             
             Connection con = DriverManager.getConnection("jdbc:hive2://localhost:10000/default", "", "");
             Statement stmt = con.createStatement();
             
             stmt.execute("CREATE DATABASE userdb");
             System.out.println("Database userdb created successfully.");
             
             con.close();
       } catch (Exception e) {
          System.out.println(e.getMessage());
       }
         
       }
    }
    
    
    将程序保存在名为HiveCreateDb.java的文件中。以下命令用于编译和执行该程序。
    
    $ javac HiveCreateDb.java
    $ java HiveCreateDb
    
    
    输出:
    
    Database userdb created successfully.