创建数据库语句
创建数据库是用于在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.