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

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

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

  • spark-redshift.jar

  • spark-avro.jar

  • RedshiftJDBC.jar

  • minimal-json.jar

要在 Amazon EMR on EKS 发行版 6.9.0 或更高版本上使用适用于 Apache Spark 的 Amazon Redshift 集成启动 Spark 应用程序,请使用以下示例命令。请注意,--conf spark.jars 选项列出的路径是 JAR 文件的默认路径。

aws emr-containers start-job-run \ --virtual-cluster-id cluster_id \ --execution-role-arn arn \ --release-label emr-6.9.0-latest\ --job-driver '{ "sparkSubmitJobDriver": { "entryPoint": "s3://script_path", "sparkSubmitParameters": "--conf spark.kubernetes.file.upload.path=s3://upload_path --conf spark.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" } }'