

 从补丁 198 开始，Amazon Redshift 将不再支持创建新的 Python UDF。现有的 Python UDF 将继续正常运行至 2026 年 6 月 30 日。有关更多信息，请参阅[博客文章](https://www.amazonaws.cn/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/)。

# 在 Amazon Redshift 数据共享中使用视图
<a name="datashare-views"></a>

创建器集群可以共享常规视图、后期绑定视图和实体化视图。共享常规、后期绑定视图或实体化视图时，不必共享基表。下表介绍了数据共享如何支持视图。

[\[See the AWS documentation website for more details\]](http://docs.amazonaws.cn/redshift/latest/dg/datashare-views.html)

以下查询显示了数据共享支持的常规视图的输出。有关常规视图定义的信息，请参阅[CREATE VIEW](r_CREATE_VIEW.md)。

```
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](r_CREATE_VIEW.md)。

```
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](materialized-view-create-sql-command.md)。

```
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_account` 和 `current_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)
```

## 对数据共享中的实体化视图进行增量刷新
<a name="mv_incremental_datashare"></a>

 共享基表或实体化视图时，Amazon Redshift 支持对使用者数据共享中的实体化视图进行增量刷新。增量刷新是一项操作，其中 Amazon Redshift 可识别上次刷新后发生的一个或多个基表中的更改，并仅更新实体化视图中的相应记录。有关此行为的更多信息，请参阅 [CREATE MATERIALIZED VIEW](https://docs.amazonaws.cn/redshift/latest/dg/materialized-view-create-sql-command.html#mv_CREATE_MARTERIALIZED_VIEW_datashare)。