大数据学习笔记-------------------(22)

2017/03/14 17:25
阅读数 49

第22章数据库操作

22.1 创建数据库

         Hive是一个数据库技术,该技术可以定义数据库和表用于分析结构数据。结构化数据分析的主题是以表格方式存储数据,并传递查询以对其进行分析。本章是用来描述如何创建数据库。Hive包含一个默认的数据库(default)。

22.1.1创建数据库语句

         创建数据库的语句用来在Hive创建数据库。Hive中的数据库是命名空间(namespace)或表的集合。创建数据库的语法如下:

    

CREATEDATABASE|SCHEMA [IF NOT EXISTS] <database name>;

    这里,IF NOT EXISTS是一个可选子句,它通知用户已存在具有相同名称的数据库。可以在此命令中使用SCHEMA代替DATABASE。创建一个名为userdb的数据库的语法如下:

CREATE DATABASE [IF NOT EXISTS] userdb;

”或“
CREATESCHEMA userdb;

”命令执行成功,执行命令 "
show databases;

查看已有的数据库:

  

22.1.2 JDBC程序

创建数据库的JDBC程序:

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();
	}
}

保存程序在文件HiveCreateDb.java中。执行如下命令进行编译和执行程序:

javac HiveCreateDb.java
java  HiveCreateDb

输出:

  Database userdbcreated successfully.

22.2 删除数据库

用Hive删除数据库。SCHEMA和DATABASE作用相同。

22.2.1 删除数据库语法

 删除数据库的语法是删除所有表和删除数据库。语法如下:

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

执行命令删除数据库。删除数据库userdb。"

DROP DATABASE IF EXISTS userdb;

以下查询使用CASCADE删除数据库。 这意味着在删除数据库之前删除相应的表。执行命令:"

DROP DATABASE IF EXISTS userdb CASCADE;
"或着"
DROP SCHEMA userdb;

22.2.2 JDBC程序

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();
	}
}


保存程序在一个HiveDropDb.java文件中。执行命令:

javac HiveDropDb.java
java  HiveDropDb

输出:"Drop userdbdatabase successful."

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部