首页 > 解决方案 > 在 Docker 映像中使用 Spark-Submit?

问题描述

我想知道有关 PySpark 应用程序的一些事情。如果我将一个名为 的 PySpark 程序容器化my_spark_script.py,我可以在 Docker 容器内执行它吗?我的意思是问,像这样的 Docker 文件是否有效:

WORKDIR /app
COPY . .
RUN pip3 install -r requirements.txt
CMD spark-submit --master yarn --deploy-mode cluster--num-executors 2 my_spark_script.py // <-- ???

我可以将其构建为:

docker build -t my_docker_image .

然后运行它

docker run -d my_docker_image

我想知道这是否可以在 AWS EC2 或 AWS EMR 或其他类似的东西上运行?它会起作用吗?

我只是不知道容器CMD在 EC2 或 EMR 等环境中是如何工作的。请帮忙!

标签: amazon-web-servicesdockerapache-spark

解决方案


Amazon Elastic Container Service (ECS) 是一种用于运行 Docker 容器的托管 AWS 服务。ECS 提供 Fargate 启动类型,这是一个无服务器平台,容器服务通过该平台在 Docker 容器而不是 EC2 实例上运行。要将源代码构建到 Docker 映像中,您可以使用 AWS CodeBuild 服务和用于持续集成的 AWS CodePipeline,请在此处查看以下示例。


推荐阅读