

 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/)を参照してください。

# Apache Spark 用の Amazon Redshift の統合
<a name="spark-redshift-connector"></a>

 [Apache Spark](https://aws.amazon.com/emr/features/spark/) は、機械学習、ストリーム処理、グラフ分析に役立つ分散処理フレームワークおよびプログラミングモデルです。Apache Spark は、Apache Hadoop と同様に、ビッグデータのワークロードを処理するために一般的に使用されているオープンソースの分散処理システムです。Spark には最適化された有向非循環グラフ (DAG) 実行エンジンが搭載されており、データをメモリ内に積極的にキャッシュします。これにより、特に特定のアルゴリズムやインタラクティブクエリのパフォーマンスを向上させることができます。

 この統合により、Amazon Redshift と Amazon Redshift Serverless のデータを読み書きする Apache Spark アプリケーションを構築するために使用できる Spark コネクタが提供されます。これらのアプリケーションは、アプリケーションのパフォーマンスやデータのトランザクションの一貫性を損なうことはありません。この統合は自動的に [Amazon EMR](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/) および [AWS Glue](https://docs.aws.amazon.com/glue/latest/dg/) に含まれるため、データインジェストと変換パイプラインの一部として Amazon Redshift のデータにアクセスしてロードする Apache Spark ジョブをすぐに実行できます。

現在、この統合では Spark のバージョン 3.3.x、3.4.x、3.5.x、および 4.0.0 を使用できます。

 この統合により、次のことが可能になります。
+  AWS Identity and Access Management (IAM) 認証。詳細については、「[Amazon Redshift での Identity and Access Management](https://docs.aws.amazon.com/redshift/latest/mgmt/redshift-iam-authentication-access-control.html)」を参照してください。
+ パフォーマンスを向上させるための述語とクエリのプッシュダウン
+  Amazon Redshift のデータ型 
+ Amazon Redshift および Amazon Redshift Serverless への接続

## Spark コネクタを使用する際の考慮事項と制限事項
<a name="spark-redshift-connector-considerations"></a>
+  tempdir URI は Amazon S3 の場所を指します。この一時ディレクトリは自動的にはクリーンアップされないため、追加コストが発生する可能性があります。*Amazon Simple Storage Service ユーザーガイド*の [Amazon S3 ライフサイクルポリシー](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lifecycle-mgmt.html)を使用して、Amaxon S3 バケットの保持ルールを定義することをお勧めします。
+  デフォルトでは、S3 バケットと Redshift クラスターが異なる AWS リージョンにある場合、Amazon S3 と Redshift 間のコピーは機能しません。個別の AWS リージョンを使用するには、`tempdir_region` パラメータを、`tempdir` に使用する S3 バケットのリージョンに設定します。
+ `tempformat` パラメータを使用して Parquet データを書き込む場合、S3 と Redshift の間でクロスリージョンの書き込みが行われます。
+ [Amazon S3 サーバー側の暗号化](https://docs.aws.amazon.com/AmazonS3/latest/userguide/serv-side-encryption.html)を使用して、使用する Amazon S3 バケットを暗号化することをお勧めします。
+ [Amazon S3 バケットへのパブリックアクセスをブロックする](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-control-block-public-access.html)ことをお勧めします。
+  Amazon Redshift クラスターがパブリックにアクセスできないようにすることをお勧めします。
+  [Amazon Redshift 監査ログ作成](https://docs.aws.amazon.com/redshift/latest/mgmt/db-auditing.html)を有効にすることをお勧めします。
+  [Amazon Redshift 保管時の暗号化](https://docs.aws.amazon.com/redshift/latest/mgmt/security-server-side-encryption.html)を有効にすることをお勧めします。
+  Amazon EMR 上の Spark から Amazon Redshift への JDBC 接続に対して SSL を有効にすることをお勧めします。
+ Amazon Redshift 認証パラメータのパラメータ `aws_iam_role` を使用して IAM ロールを渡すことをお勧めします。