

 Amazon Redshift は、パッチ 198 以降、新しい Python UDF の作成をサポートしなくなります。既存の Python UDF は、2026 年 6 月 30 日まで引き続き機能します。詳細については、[ブログ記事](https://aws.amazon.com/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>

プロデューサークラスターは、通常ビュー、遅延バインディングビュー、マテリアライズドビューを共有できます。通常ビュー、遅延バインディングビュー、マテリアライズドビューを共有する場合、ベーステーブルを共有する必要はありません。以下のテーブルは、データ共有でビューがどのようにサポートされるかを示しています。


| ビュー名 | このビューをデータ共有に追加できますか? | コンシューマーは、クラスター全体のデータ共有オブジェクトに対してこのビューを作成できますか? | 
| --- | --- | --- | 
| 通常ビュー | はい | いいえ | 
| 遅延バインドビュー | はい | はい | 
| マテリアライズドビュー | はい | はい。ただし、完全に更新した場合に限ります | 

次のクエリは、データ共有でサポートされている通常のビューの出力を示しています。定期的なビューの定義については、「[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.aws.amazon.com/redshift/latest/dg/materialized-view-create-sql-command.html#mv_CREATE_MARTERIALIZED_VIEW_datashare)」を参照してください。