使用适用于 Apache Spark 的 Amazon Redshift 集成启动 Spark 应用程序 - Amazon EMR

使用适用于 Apache Spark 的 Amazon Redshift 集成启动 Spark 应用程序

要使用与 EMR Serverless 6.9.0 的集成,您必须在 Spark 作业中传递所需的 Spark-Redshift 依赖项。使用 --jars 包含 Redshift 连接器相关库。要查看 --jars 选项支持的其他文件位置,请参阅 Apache Spark 文档的 Advanced Dependency Management(高级依赖项管理)部分。

  • spark-redshift.jar

  • spark-avro.jar

  • RedshiftJDBC.jar

  • minimal-json.jar

Amazon EMR 6.10.0 及更高版本不需要 minimal-json.jar 依赖关系,并且默认情况下会自动将其他依赖项安装到每个集群。以下示例显示了如何使用适用于 Apache Spark 的 Amazon Redshift 集成启动 Spark 应用程序。

Amazon EMR 6.10.0 +

通过 EMR Serverless 6.10.0 及更高版本上适用于 Apache Spark 的 Amazon Redshift 集成,在 Amazon EMR Serverless 上启动 Spark 作业。

spark-submit my_script.py
Amazon EMR 6.9.0

要通过 EMR Serverless 6.9.0 上适用于 Apache Spark 的 Amazon Redshift 集成,在 Amazon EMR Serverless 上启动 Spark 作业,请使用以下示例中所示的 --jars 选项。请注意,--jars 选项列出的路径是 JAR 文件的默认路径。

--jars /usr/share/aws/redshift/jdbc/RedshiftJDBC.jar, /usr/share/aws/redshift/spark-redshift/lib/spark-redshift.jar, /usr/share/aws/redshift/spark-redshift/lib/spark-avro.jar, /usr/share/aws/redshift/spark-redshift/lib/minimal-json.jar
spark-submit \ --jars /usr/share/aws/redshift/jdbc/RedshiftJDBC.jar,/usr/share/aws/redshift/spark-redshift/lib/spark-redshift.jar,/usr/share/aws/redshift/spark-redshift/lib/spark-avro.jar,/usr/share/aws/redshift/spark-redshift/lib/minimal-json.jar \ my_script.py