在Impala中,数据库是一种在其命名空间中保存相关表,视图和函数的构造。 它在HDFS中表示为目录树; 它包含表分区和数据文件。 本章介绍如何在Impala中创建数据库。
CREATE DATABASE语句用于在Impala中创建新数据库。
以下是CREATE DATABASE语句的语法。
CREATE DATABASE IF NOT EXISTS database_name;
这里,IF NOT EXISTS是一个可选的子句。 如果我们使用此子句,则只有在没有具有相同名称的现有数据库时,才会创建具有给定名称的数据库。
以下是create database语句的示例。 在本例中,我们创建了一个名为my_database的数据库。
[quickstart.cloudera:21000] > CREATE DATABASE IF NOT EXISTS my_database;
在cloudera impala-shell中执行上述查询时,您将获得以下输出。
Query: create DATABASE my_database
Fetched 0 row(s) in 0.21s
SHOW DATABASES查询给出Impala中的数据库列表,因此可以使用SHOW DATABASES语句验证是否创建了数据库。 在这里,您可以在列表中观察新创建的数据库my_db。
[quickstart.cloudera:21000] > show databases;
Query: show databases
+-----------------------------------------------+
| name |
+-----------------------------------------------+
| _impala_builtins |
| default |
| my_db |
+-----------------------------------------------+
Fetched 3 row(s) in 0.20s
[quickstart.cloudera:21000] >
为了在HDFS文件系统中创建数据库,需要指定要创建数据库的位置。
CREATE DATABASE IF NOT EXISTS database_name LOCATION hdfs_path;
打开Impala查询编辑器并在其中键入CREATE DATABASE语句。 此后,单击执行按钮,如下面的屏幕截图所示。
执行查询后,轻轻地将光标移动到下拉菜单的顶部,您会发现一个刷新符号。 如果单击刷新符号,将刷新数据库列表,并对其应用最近的更改。
单击编辑器左侧标题DATABASE下的下拉框。 在那里您可以看到系统中的数据库列表。 这里可以观察新创建的数据库my_db,如下所示。
如果仔细观察,您只能看到一个数据库,即列表中的my_db以及默认数据库。