Hive - Criar banco de dados
Hive é uma tecnologia de banco de dados que pode definir bancos de dados e tabelas para analisar dados estruturados. O tema da análise de dados estruturados é armazenar os dados de forma tabular e passar consultas para analisá-los. Este capítulo explica como criar um banco de dados Hive. O Hive contém um banco de dados padrão chamadodefault.
Criar declaração de banco de dados
Criar banco de dados é uma instrução usada para criar um banco de dados no Hive. Um banco de dados no Hive é umnamespaceou uma coleção de tabelas. osyntax para esta declaração é a seguinte:
CREATE DATABASE|SCHEMA [IF NOT EXISTS] <database name>
Aqui, IF NOT EXISTS é uma cláusula opcional, que notifica o usuário de que já existe um banco de dados com o mesmo nome. Podemos usar SCHEMA no lugar de DATABASE neste comando. A seguinte consulta é executada para criar um banco de dados chamadouserdb:
hive> CREATE DATABASE [IF NOT EXISTS] userdb;
or
hive> CREATE SCHEMA userdb;
A seguinte consulta é usada para verificar uma lista de bancos de dados:
hive> SHOW DATABASES;
default
userdb
Programa JDBC
O programa JDBC para criar um banco de dados é fornecido abaixo.
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();
}
}
Salve o programa em um arquivo denominado HiveCreateDb.java. Os seguintes comandos são usados para compilar e executar este programa.
$ javac HiveCreateDb.java
$ java HiveCreateDb
Resultado:
Database userdb created successfully.