使用适用于 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