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。
以下是create table语句的示例。 在这个例子中,我们在数据库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
[quickstart.cloudera:21000] > use my_db; Query: use my_db
然后,如果您使用show tables查询获取表的列表,则可以在其中观察名为student的表,如下所示。
[quickstart.cloudera:21000] > show tables; Query: show tables +-----------+ | name | +-----------+ | student | +-----------+ Fetched 1 row(s) in 0.10s
为了在HDFS文件系统中创建数据库,需要指定要创建数据库的位置,如下所示。
CREATE DATABASE IF NOT EXISTS database_name LOCATION hdfs_path;
打开impala查询编辑器,并在其中键入CREATE Table Statement。 然后单击执行按钮,如下面的屏幕截图所示。
执行查询后,轻轻将光标移动到下拉菜单的顶部,您会发现一个刷新符号。 如果单击刷新符号,将刷新数据库列表,并对其应用最近所做的更改。
单击编辑器左侧标题DATABASE下的下拉菜单。 在那里你可以看到一个数据库列表。 选择数据库my_db,如下所示。
在选择数据库my_db时,您可以看到其中的表列表,如下所示。 在这里你可以找到新创建的表学生,如下所示。