适用于 Apache Spark 的 Amazon Redshift 集成 - Amazon Redshift

适用于 Apache Spark 的 Amazon Redshift 集成

Apache Spark 是一个分布式处理框架和编程模型,可帮助您进行机器学习、流处理或图形分析。Spark 与 Apache Hadoop 类似,也是一款常用于大数据工作负载的开源、分布式处理系统。Spark 具有优化的有向无环图(DAG)执行引擎,可主动在内存中缓存数据。这可以提高性能,特别适合某些算法和交互式查询。

此集成为您提供了 Spark 连接器,您可以将其用于构建 Apache Spark 应用程序,这些应用程序在 Amazon Redshift 和 Amazon Redshift Serverless 中读取和写入数据。这些应用程序不会影响应用程序性能或数据的事务一致性。此集成自动包括在 Amazon EMRAWS 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 S3 存储桶的公有访问

  • 我们建议不要公开访问 Amazon Redshift 集群。

  • 我们建议启用 Amazon Redshift 审核日志记录

  • 我们建议启用 Amazon Redshift 静态加密

  • 我们建议您为从 Spark on Amazon EMR 到 Amazon Redshift 的 JDBC 连接启用 SSL。

  • 我们建议使用参数 aws_iam_role 为 Amazon Redshift 身份验证参数传递 IAM 角色。