设为首页 加入收藏

TOP

hive中数据库的创建与删除
2018-12-07 01:26:06 】 浏览:5
Tags:hive 数据库 创建 删除

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

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

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

创建数据库:

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

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

CREATE DATABASE|SCHEMA [IF NOT EXISTS] <database name>

在这里,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表 增改删字段 下一篇关于Hive中的复杂数据类型Array,M..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

array(4) { ["type"]=> int(8) ["message"]=> string(24) "Undefined variable: jobs" ["file"]=> string(32) "/mnt/wp/cppentry/do/bencandy.php" ["line"]=> int(214) }