Impala 简明教程

Impala - Create Table Statement

CREATE TABLE 语句用于在 Impala 中的所需数据库中创建新表。创建基本表包括命名表及其列和每列的数据类型。

Syntax

以下是 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_nametable_name

Example

以下是在 create 表语句中的示例。在此示例中,我们在数据库 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

Verification

show Tables 查询列出 Impala 中当前数据库的表。因此,您可以使用 Show Tables 语句验证是否创建了表。

首先,您需要将上下文切换到存在所需表的数据库,如下所示。

[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 path

要创建 HDFS 文件系统中的数据库,您需要指定要创建数据库的位置,如下所示。

CREATE DATABASE IF NOT EXISTS database_name LOCATION hdfs_path;

Creating a Database using Hue Browser

打开 Impala 查询编辑器,并输入 CREATE Table 语句。然后单击执行按钮,如下面屏幕截图所示。

create database

执行查询后,轻轻将光标移到下拉菜单顶部,您将找到一个刷新符号。如果您单击刷新符号,将刷新数据库列表,并将对它的最新更改应用到其中。

create database drop down

Verification

单击编辑器左侧标题 DATABASE 下的 drop down 。在那里,您可以看到数据库列表。选择数据库 my_db ,如下所示。

create database verification

选择数据库 my_db 后,您可以看到其中的表列表,如下所示。您可以在此处找到新创建的表 student ,如下所示。

create database my db