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

来源:互联网 发布:c语言判断水仙花数 编辑:程序博客网 时间:2024/06/14 07:00

第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 instanceClass.forName(driverName);// get connectionConnection 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.javajava  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 instanceClass.forName(driverName);// get connectionConnection 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.javajava  HiveDropDb

输出:"Drop userdbdatabase successful."

0 0
原创粉丝点击