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 수명 주기 정책을 사용하여 Amazon S3 버킷에 대한 보존 규칙을 정의하는 것이 좋습니다.
-
기본적으로 Amazon S3와 Redshift 간의 복사는 S3 버킷과 Redshift 클러스터가 서로 다른 AWS 리전에 있는 경우 작동하지 않습니다. 별도의 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 역할을 전달하는 것이 좋습니다.