Impala - CREATE TABLE 语句
CREATE TABLE 语句用于在 Impala 中所需的数据库中创建一个新表。 创建基本表涉及命名表并定义其列以及每列的数据类型。
语法
以下是CREATE TABLE语句的语法。 这里,IF NOT EXISTS 是一个可选子句。 如果我们使用此子句,则仅当指定数据库中不存在具有相同名称的现有表时,才会创建具有给定名称的表。
create table IF NOT EXISTS database_name.table_name ( column1 data_type, column2 data_type, column3 data_type, ……… columnN data_type );
CREATE TABLE 是指示数据库系统创建新表的关键字。 表的唯一名称或标识符位于 CREATE TABLE 语句之后。 您可以选择指定 database_name 和 table_name。
示例
以下是建表语句的示例。 在此示例中,我们在数据库 my_db 中创建了一个名为 student 的表。
[quickstart.cloudera:21000] > CREATE TABLE IF NOT EXISTS my_db.student (name STRING, age INT, contact INT );
执行上述语句时,将创建一个具有指定名称的表,并显示以下输出。
Query: create table student (name STRING, age INT, phone INT) Fetched 0 row(s) in 0.48s
验证
show Tables 查询给出 Impala 当前数据库中的表列表。 因此,您可以使用Show Tables语句验证表是否已创建。
首先,需要将上下文切换到所需表所在的数据库,如下所示。
[quickstart.cloudera:21000] > use my_db; Query: use my_db
然后,如果您使用 show table 查询获取表列表,则可以观察其中名为 student 的表,如下所示。
[quickstart.cloudera:21000] > show tables; Query: show tables +-----------+ | name | +-----------+ | student | +-----------+ Fetched 1 row(s) in 0.10s
HDFS 路径
为了在 HDFS 文件系统中创建数据库,您需要指定要创建数据库的位置,如下所示。
CREATE DATABASE IF NOT EXISTS database_name LOCATION hdfs_path;
使用 Hue 浏览器创建数据库
打开 impala 查询编辑器并在其中键入 CREATE Table 语句。 然后单击执行按钮,如下图所示。
执行查询后,将光标轻轻移动到下拉菜单的顶部,您将看到一个刷新符号。 如果单击刷新符号,数据库列表将被刷新,并且最近所做的更改将应用到其中。
验证
单击编辑器左侧数据库标题下的下拉菜单。 在那里您可以看到数据库列表。 选择数据库my_db,如下所示。
选择数据库my_db后,您可以看到其中的表列表,如下所示。 在这里您可以找到新创建的表student,如下所示。