Hive是一種數(shù)據(jù)庫技術(shù),可以定義數(shù)據(jù)庫和表來分析結(jié)構(gòu)化數(shù)據(jù)。主題結(jié)構(gòu)化數(shù)據(jù)分析是以表方式存儲(chǔ)數(shù)據(jù),并通過查詢來分析。本章介紹如何創(chuàng)建Hive 數(shù)據(jù)庫。配置單元包含一個(gè)名為 default 默認(rèn)的數(shù)據(jù)庫。
創(chuàng)建數(shù)據(jù)庫是用來創(chuàng)建數(shù)據(jù)庫在Hive中語句。在Hive數(shù)據(jù)庫是一個(gè)命名空間或表的集合。此語法聲明如下:
CREATE DATABASE|SCHEMA [IF NOT EXISTS] <database name>
在這里,IF NOT EXISTS是一個(gè)可選子句,通知用戶已經(jīng)存在相同名稱的數(shù)據(jù)庫??梢允褂肧CHEMA 在DATABASE的這個(gè)命令。下面的查詢執(zhí)行創(chuàng)建一個(gè)名為userdb數(shù)據(jù)庫:
hive> CREATE DATABASE [IF NOT EXISTS] userdb;
或
hive> CREATE SCHEMA userdb;
下面的查詢用于驗(yàn)證數(shù)據(jù)庫列表:
hive> SHOW DATABASES; default userdb
在JDBC程序來創(chuàng)建數(shù)據(jù)庫如下。
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(); } }
保存程序在一個(gè)名為HiveCreateDb.java文件。下面的命令用于編譯和執(zhí)行這個(gè)程序。
$ javac HiveCreateDb.java $ java HiveCreateDb
Database userdb created successfully.
更多建議: