Hive 删除数据库
-
Hive 删除数据库
本章介绍如何在Hive中删除数据库。SCHEMA和DATABASE的用法相同。 -
删除数据库语句
删除数据库是删除所有表并删除数据库的语句。其语法如下: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;
此子句是在Hive 0.6中添加的。 -
使用JDBC程序
下面给出了删除数据库的JDBC程序。新版HIVE,应该启动hiveserver2,hiveserver服务已经没有。启动流程如下:
- $HADOOP_HOME/sbin/start-dfs.sh
- $HADOOP_HOME/sbin/start-yarn.sh
- $HIVE_HOME/bin/hive --service hiveserver2
$HIVE_HOME/bin/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 HiveDropDb { 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("DROP DATABASE userdb"); System.out.println("Database userdb created successfully."); con.close(); } catch (Exception e) { System.out.println(e.getMessage()); } } }
将程序保存在名为HiveDropDb.java的文件中。下面给出的是编译和执行该程序的命令。$ javac HiveDropDb.java $ java HiveDropDb
输出:Drop userdb database successful.