适用于 Apache Spark 的 Amazon Redshift 集成
Apache Spark
此集成为您提供了 Spark 连接器,您可以将其用于构建 Apache Spark 应用程序,这些应用程序在 Amazon Redshift 和 Amazon Redshift Serverless 中读取和写入数据。这些应用程序不会影响应用程序性能或数据的事务一致性。此集成自动包括在 Amazon EMR 和 AWS Glue 中,因此您可以立即运行 Apache Spark 作业,在数据摄取和转换管道过程中访问数据并将其加载到 Amazon Redshift 中。
目前,您只能将 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 存储桶的保留规则。
-
原定设置情况下,如果 S3 桶和 Redshift 集群位于不同的 AWS 区域,则 Amazon S3 和 Redshift 之间的复制不起作用。要使用单独的 AWS 区域,请将
tempdir_region
参数设置为对tempdir
使用的 S3 存储桶的区域。 -
如果使用
tempformat
参数写入 Parquet 数据,则在 S3 和 Redshift 之间进行跨区域写入。 -
我们建议使用 Amazon S3 服务器端加密以加密使用的 Amazon S3 存储桶。
-
我们建议不要公开访问 Amazon Redshift 集群。
-
我们建议启用 Amazon Redshift 审核日志记录。
-
我们建议启用 Amazon Redshift 静态加密。
-
我们建议您为从 Spark on Amazon EMR 到 Amazon Redshift 的 JDBC 连接启用 SSL。
-
我们建议使用参数
aws_iam_role
为 Amazon Redshift 身份验证参数传递 IAM 角色。