Apache Spark 用の Amazon Redshift の統合
Apache Spark
この統合により、Amazon Redshift と Amazon Redshift Serverless のデータを読み書きする Apache Spark アプリケーションを構築するために使用できる Spark コネクタが提供されます。これらのアプリケーションは、アプリケーションのパフォーマンスやデータのトランザクションの一貫性を損なうことはありません。この統合は自動的に Amazon EMR および AWS Glue に含まれるため、データインジェストと変換パイプラインの一部として Amazon Redshift のデータにアクセスしてロードする Apache Spark ジョブをすぐに実行できます。
現在、この統合では Spark のバージョン 3.3.0、3.3.1、3.3.2、および 3.4.0 を使用できます。
この統合により、次のことが可能になります。
-
AWS Identity and Access Management (IAM) 認証。詳細については、「Amazon Redshift での Identity and Access Management」を参照してください。
-
パフォーマンスを向上させるための述語とクエリのプッシュダウン
-
Amazon Redshift のデータ型
-
Amazon Redshift および Amazon Redshift Serverless への接続
Spark コネクタを使用する際の考慮事項と制限事項
-
tempdir URI は Amazon S3 の場所を指します。この一時ディレクトリは自動的にはクリーンアップされないため、追加コストが発生する可能性があります。Amazon Simple Storage Service ユーザーガイドの Amazon S3 ライフサイクルポリシーを使用して、Amaxon S3 バケットの保持ルールを定義することをお勧めします。
-
デフォルトでは、S3 バケットと Redshift クラスターが異なる AWS リージョンにある場合、Amazon S3 と Redshift 間のコピーは機能しません。個別の AWS リージョンを使用するには、
tempdir_region
パラメータを、tempdir
に使用する S3 バケットのリージョンに設定します。 -
tempformat
パラメータを使用して Parquet データを書き込む場合、S3 と Redshift の間でクロスリージョンの書き込みが行われます。 -
Amazon S3 サーバー側の暗号化を使用して、使用する Amazon S3 バケットを暗号化することをお勧めします。
-
Amazon S3 バケットへのパブリックアクセスをブロックすることをお勧めします。
-
Amazon Redshift クラスターがパブリックにアクセスできないようにすることをお勧めします。
-
Amazon Redshift 監査ログ作成を有効にすることをお勧めします。
-
Amazon Redshift 保管時の暗号化を有効にすることをお勧めします。
-
Amazon EMR 上の Spark から Amazon Redshift への JDBC 接続に対して SSL を有効にすることをお勧めします。
-
Amazon Redshift 認証パラメータのパラメータ
aws_iam_role
を使用して IAM ロールを渡すことをお勧めします。