Impala - Chế độ xem thay thế

Các Alter Viewtuyên bố của Impala được sử dụng để thay đổi chế độ xem. Sử dụng câu lệnh này, bạn có thể thay đổi tên của một dạng xem, thay đổi cơ sở dữ liệu và truy vấn được liên kết với nó.

Từ một view là một cấu trúc logic, không có dữ liệu vật lý nào sẽ bị ảnh hưởng bởi alter view truy vấn.

Cú pháp

Sau đây là cú pháp của Alter View tuyên bố

ALTER VIEW database_name.view_name as Select statement

Thí dụ

Ví dụ: giả sử chúng ta có một chế độ xem có tên customers_view bên trong my_db cơ sở dữ liệu trong Impala với các nội dung sau.

+----------+-----+ 
| name     | age | 
+----------+-----+ 
| Komal    | 22  | 
| Khilan   | 25  | 
| Ramesh   | 32  | 
| Hardik   | 27  | 
| Chaitali | 25  | 
| kaushik  | 23  | 
+----------+-----+

Sau đây là một ví dụ về Alter View Statement. Trong ví dụ này, chúng tôi bao gồm các cột id, tên và tiền lương thay vì tên và tuổi vàocustomers_view.

[quickstart.cloudera:21000] > Alter view customers_view as select id, name, 
salary from customers;

Khi thực hiện truy vấn trên, Impala thực hiện các thay đổi được chỉ định đối với customers_view, hiển thị thông báo sau.

Query: alter view customers_view as select id, name, salary from customers

xác minh

Bạn có thể xác minh nội dung của view được đặt tên customers_view, sử dụng select như hình dưới đây.

[quickstart.cloudera:21000] > select * from customers_view;
Query: select * from customers_view

Điều này sẽ tạo ra kết quả sau.

+----+----------+--------+ 
| id | name     | salary | 
+----+----------+--------+
| 3  | kaushik  | 30000  | 
| 2  | Khilan   | 15000  | 
| 5  | Hardik   | 40000  | 
| 6  | Komal    | 32000  | 
| 1  | Ramesh   | 20000  | 
| 4  | Chaitali | 35000  | 
+----+----------+--------+ 
Fetched 6 row(s) in 0.69s

Thay đổi chế độ xem bằng cách sử dụng Hue

Mở trình chỉnh sửa Truy vấn Impala, chọn bối cảnh là my_dbvà nhập Alter View trong đó và nhấp vào nút thực thi như thể hiện trong ảnh chụp màn hình sau.

Sau khi thực hiện truy vấn, view được đặt tên sample sẽ được thay đổi cho phù hợp.