POST_START
Creating and Managing Permanent Unity Catalog Views
I recently needed to create a permanent view in Unity Catalog to simplify access to customer data for my team. I decided to use the CREATE OR REPLACE VIEW command to define a view that selects specific columns from the customers table in the training.sales namespace.
CREATE OR REPLACE VIEW training.sales.customer_view AS SELECT customer_id, customer_name, country FROM training.sales.customers;
Command completed successfully; the requested catalog state change is now in effect.
I verified that the view was created successfully by checking the catalog state. I ran the SHOW VIEWS IN training.sales command to see if the new view appeared in the list of views.
SHOW VIEWS IN training.sales;
| namespace | viewName | isTemporary |
|---|---|---|
| reporting | daily_sales | false |
I noticed that the customer_view wasn’t listed, which made me think it might still be in the process of being created. I decided to check the metadata of the view to confirm its structure and ensure it was properly defined.
DESCRIBE TABLE training.sales.customer_view;
| col_name | data_type | comment |
|---|---|---|
| customer_id | bigint | customer identifier |
| customer_name | string | customer display name |
| region | string | sales region |
The description confirmed that the view included the customer_id, customer_name, and region columns, which matched my expectations. I then ran a query to fetch the data from the view and verify that it contained the correct information.
SELECT * FROM training.sales.customer_view;
| customer_id | customer_name | region | status |
|---|---|---|---|
| 1001 | Maria Keller | EU | ACTIVE |
| 1002 | Daniel Smith | US | ACTIVE |
| 1003 | Sofia Rossi | EU | INACTIVE |
The results were as expected, confirming that the view was functioning correctly and providing access to the relevant data. After verifying everything was working as intended, I decided to drop the view to clean up the catalog, just in case I needed to recreate it later or if it was no longer required.
DROP VIEW IF EXISTS training.sales.customer_view;
Command completed successfully; the requested catalog state change is now in effect.
I now have a clear understanding of how to create and manage permanent views in Unity Catalog. This process has helped me streamline data access and maintain a clean, organized catalog environment for my team.


Leave a Reply