hive中数据库的创建与删除

Hive安装完并初始化元数据后,会自动产生一个默认的数据库default.

但在时间的生产环境中,我们通常要创建自己的数据库.

文本介绍如何通过hive客户端和java程序创建和删除hive数据库。

 

创建数据库:

hive中创建数据库,和在关系型数据库中创建数据库类似,create database 语句创建数据库。

Hive中的数据库,实际上是一个命名空间namespace或者表的集合。创建语法如下:

CREATE DATABASE|SCHEMA [IF NOT EXISTS]

在这里,IF NOT EXISTS 是一个可选的子句,通知用户是否具有相同名字的数据库存在。

以下为创建一个userdb数据库实例:

hive> CREATE DATABASE [IF NOT EXISTS] userdb;

或者:hive> CREATE SCHEMA userdb;

 

以下语句用于列出数据库列表:

hive> SHOW DATABASES;
default
userdb

 

以下为用java编程方式在hive中创建数据库.

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.hadoop.hive.jdbc.HiveDriver";

public static void main(String[] args) throws SQLException {
// Register driver and create driver instance

Class.forName(driverName);
// get connection

Connection con = DriverManager.getConnection("jdbc:hive://localhost:10000/default", "", "");
Statement stmt = con.createStatement();

stmt.executeQuery("CREATE DATABASE userdb");
System.out.println(“Database userdb created successfully.”);

con.close();
}
}

 

删除数据库:

Hive中删除数据库语法如下:

DROP DATABASE StatementDROP (DATABASE|SCHEMA) [IF EXISTS] database_name
[RESTRICT|CASCADE];

 

以下语句为删除userdb数据库的实例:

hive> DROP DATABASE IF EXISTS userdb;

 

以下查询数据库使用CASCADE这意味着删除数据库之前把各自的表删除掉

hive> DROP DATABASE IF EXISTS userdb CASCADE;

 

以下使用SCHEMA删除数据库。

hive> DROP SCHEMA userdb;

 

以下为用java编程方式在hive中删除数据库.

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

public class HiveDropDb {
private static String driverName = "org.apache.hadoop.hive.jdbc.HiveDriver";

public static void main(String[] args) throws SQLException {

// Register driver and create driver instance
Class.forName(driverName);

// get connection
Connection con = DriverManager.getConnection("jdbc:hive://localhost:10000/default", "", "");
Statement stmt = con.createStatement();
stmt.executeQuery("DROP DATABASE userdb");

System.out.println(“Drop userdb database successful.”);

con.close();
}
}

你可能感兴趣的:(大数据,hive)