-

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

语句

以下是Impala select语句的语法。

SELECT column1, column2, columnN from table_name;

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

SELECT * FROM table_name;

假设我们在Impala中有一个名为customers的表,其中包含以下数据 -

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

您可以使用select语句获取customers表的所有记录的id,name和age,如下所示 -

[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

您还可以使用select查询从customers表中获取所有记录,如下所示。

[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

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