在 Amazon Redshift 數據共享中使用視圖 - Amazon Redshift

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

在 Amazon Redshift 數據共享中使用視圖

創建者羣集可以共享常規視圖、後期綁定視圖和實例化視圖。共享常規或後期綁定視圖時,不必共享基表。下表顯示資料共享如何支持視圖。

檢視表名稱 可以將此視圖新增至資料保留嗎? 使用者可以在跨羣集的數據保護對象上創建此視圖嗎?
一般視圖
後期綁定視
具體化檢視 是,但僅限於完全刷新

以下查詢顯示了數據共享支持的常規視圖的輸出。有關常規視圖定義的信息,請參閲CREATE VIEW

SELECT * FROM tickit_db.public.myevent_regular_vw ORDER BY eventid LIMIT 5; eventid | eventname ----------+------------- 3835 | LeAnn Rimes 3967 | LeAnn Rimes 4856 | LeAnn Rimes 4948 | LeAnn Rimes 5131 | LeAnn Rimes

以下查詢顯示數據共享支持的後期綁定視圖的輸出。有關後期綁定視圖定義的信息,請參閲CREATE VIEW

SELECT * FROM tickit_db.public.event_lbv ORDER BY eventid LIMIT 5; eventid | venueid | catid | dateid | eventname | starttime --------+---------+-------+--------+------------------------------+--------------------- 1 | 305 | 8 | 1851 | Gotterdammerung | 2008-01-25 14:30:00 2 | 306 | 8 | 2114 | Boris Godunov | 2008-10-15 20:00:00 3 | 302 | 8 | 1935 | Salome | 2008-04-19 14:30:00 4 | 309 | 8 | 2090 | La Cenerentola (Cinderella) | 2008-09-21 14:30:00 5 | 302 | 8 | 1982 | Il Trovatore | 2008-06-05 19:00:00

以下查詢顯示數據共享支持的實例化視圖的輸出。有關實體化視圖定義的信息,請參閲CREATE MATERIALIZED VIEW

SELECT * FROM tickit_db.public.tickets_mv; catgroup | qtysold ----------+--------- Concerts | 195444 Shows | 149905

您可以跨生產者羣集中的所有租户維護公用表。您還可以共享按維列篩選的數據子集,例如tenant_id(account_id或者namespace_id),到消費者羣集。為此,您可以在基表上定義一個視圖,使用這些 ID 列上的篩選器,例如current_aws_account = tenant_id。在使用者方面,當您查詢視圖時,您只會看到符合您帳户條件的行。為此,您可以使用 Amazon Redshift 上下文函數current_aws_accountcurrent_namespace

以下查詢返回當前 Amazon Redshift 集羣所在的賬户 ID。如果您已連接到 Amazon Redshift,則可以運行此查詢。

select current_user, current_aws_account; current_user | current_aws_account -------------+-------------------- dwuser | 111111111111 (1row)

以下查詢會返回目前 Amazon Redshift 集的命名空間。如果連接到數據庫,則可以運行此查詢。

select current_user, current_namespace; current_user | current_namespace -------------+-------------------------------------- dwuser | 86b5169f-01dc-4a6f-9fbb-e2e24359e9a8 (1 row)