Impala 选择语句


Impala SELECT 语句用于从数据库中的一个或多个表中获取数据。此查询以表的形式返回数据。

语法


以下是 Impala 的语法 select 陈述。

SELECT column1, column2, columnN from table_name;

这里,column1、column2...是你要获取其值的表的字段。如果要获取字段中所有可用的字段,则可以使用以下语法:

SELECT * FROM table_name;

例子


假设我们有一个名为 顾客 在 Impala 中,有以下数据:

ID    NAME       AGE    ADDRESS      SALARY
---   -------    ---    ----------   -------
1     Ramesh     32     Ahmedabad    20000
2     Khilan     25     Delhi        15000
3     Hardik     27     Bhopal       40000
4     Chaitali   25     Mumbai       35000
5     kaushik    23     Kota         30000
6     Komal      22     Mp           32000

你可以获取 id, name , and age 的所有记录中 顾客 表使用 select 声明如下图:

[quickstart.cloudera:21000] > select id, name, age from customers;

在执行上述查询时,Impala 从指定的表中获取所有记录的 id、name、age 并显示它们,如下所示。

Query: select id,name,age from customers

+----+----------+-----+
| id | name     | age |
| 1  | Ramesh   | 32  |
| 2  | Khilan   | 25  |
| 3  | Hardik   | 27  |
| 4  | Chaitali | 25  |
| 5  | kaushik  | 23  |
| 6  | Komal    | 22  |
+----+----------+-----+

Fetched 6 row(s) in 0.66s

你也可以取 all 来自的记录 顾客 表使用 select 查询如下图。

[quickstart.cloudera:21000] > select name, age from customers; 
Query: select * from customers

执行上述查询时,Impala 会从指定表中获取并显示所有记录,如下所示。

+----+----------+-----+-----------+--------+
| id | name     | age | address   | salary |
+----+----------+-----+-----------+--------+
| 1  | Ramesh   | 32  | Ahmedabad | 20000  |
| 2  | Khilan   | 25  | Delhi     | 15000  |
| 3  | Hardik   | 27  | Bhopal    | 40000  |
| 4  | Chaitali | 25  | Mumbai    | 35000  |
| 5  | kaushik  | 23  | Kota      | 30000  |
| 6  | Komal    | 22  | MP        | 32000  |
+----+----------+-----+-----------+--------+

Fetched 6 row(s) in 0.66s

使用 Hue 获取记录


打开 Impala 查询编辑器并输入 select 中声明。然后单击执行按钮,如下面的屏幕截图所示。

Fetching Records

执行查询后,如果向下滚动并选择 Results 选项卡,你可以看到指定表的记录列表,如下所示。

Fetching Records Result