Impala - Tạo chế độ xem

Một khung nhìn không hơn gì một câu lệnh của ngôn ngữ truy vấn Impala được lưu trữ trong cơ sở dữ liệu với một tên liên quan. Nó là một thành phần của một bảng dưới dạng một truy vấn SQL được xác định trước.

Một dạng xem có thể chứa tất cả các hàng của bảng hoặc các hàng đã chọn. Một khung nhìn có thể được tạo từ một hoặc nhiều bảng. Chế độ xem cho phép người dùng -

  • Cấu trúc dữ liệu theo cách mà người dùng hoặc lớp người dùng thấy tự nhiên hoặc trực quan.

  • Hạn chế quyền truy cập vào dữ liệu để người dùng có thể xem và (đôi khi) sửa đổi chính xác những gì họ cần và không cần nữa.

  • Tổng hợp dữ liệu từ các bảng khác nhau có thể được sử dụng để tạo báo cáo.

Bạn có thể tạo chế độ xem bằng cách sử dụng Create View tuyên bố của Impala.

Cú pháp

Sau đây là cú pháp của câu lệnh create view. IF NOT EXISTSlà một mệnh đề không bắt buộc. Nếu chúng ta sử dụng mệnh đề này, một bảng có tên đã cho sẽ được tạo, chỉ khi không có bảng hiện có trong cơ sở dữ liệu được chỉ định có cùng tên.

Create View IF NOT EXISTS view_name as Select statement

Thí dụ

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

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

Sau đây là một ví dụ về Create View Statement. Trong ví dụ này, chúng tôi đang tạo một chế độ xem nhưcustomers bảng chứa các cột, tên và tuổi.

[quickstart.cloudera:21000] > CREATE VIEW IF NOT EXISTS customers_view AS 
select name, age from customers;

Khi thực hiện truy vấn trên, một dạng xem với các cột mong muốn được tạo, hiển thị thông báo sau.

Query: create VIEW IF NOT EXISTS sample AS select * from customers 
Fetched 0 row(s) in 0.33s

xác minh

Bạn có thể xác minh nội dung của dạng xem vừa được tạo bằng cách sử dụng select như hình dưới đây.

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

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

Query: select * from customers_view 
+----------+-----+ 
| name     | age | 
+----------+-----+ 
| Komal    | 22  | 
| Khilan   | 25  | 
| Ramesh   | 32  | 
| Hardik   | 27  | 
| Chaitali | 25  | 
| kaushik  | 23  | 
+----------+-----+ 
Fetched 6 row(s) in 4.80s

Tạo Chế độ xem bằng Hue

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

Sau khi thực hiện truy vấn, nếu bạn cuộn xuống, bạn có thể thấy view được đặt tên sample được tạo trong danh sách các bảng như hình dưới đây.