为交互式端点自定义 Docker 映像
您还可以为交互式端点自定义 Docker 映像,以便运行自定义的基础内核映像。这有助于确保在从 EMR Studio 运行交互式工作负载时拥有所需的依赖项。
-
按照上述第 1-4 步进行操作,以自定义 Docker 镜像。对于 Amazon EMR 6.9.0 版本及更高版本,您可以从 Amazon ECR Public Gallery 获取基础映像 URI。对于 Amazon EMR 6.9.0 之前的版本,您可以在每个 AWS 区域 的 Amazon ECR 注册账户中获取映像,唯一的区别是 Dockerfile 中的基础映像 URI。基础映像 URI 遵循以下格式:
ECR-registry-account
.dkr.ecr.Region
.amazonaws.com/notebook-spark/container-image-tag
您需要在基本镜像 URI 中使用
notebook-spark
,而不是spark
。基本镜像包含 Spark 运行时,以及随之运行的笔记本内核。有关选择区域和容器镜像标签的更多信息,请参阅 如何选择基础映像 URI 的详细信息。注意
目前仅支持覆盖基础镜像,除 AWS 提供的基础镜像之外,不支持引入其他类型的全新内核。
-
创建可与自定义映像配合使用的交互式端点。
首先,使用以下内容创建名为
custom-image-managed-endpoint.json
的 JSON 文件。{ "name": "endpoint-name", "virtualClusterId": "
virtual-cluster-id
", "type": "JUPYTER_ENTERPRISE_GATEWAY", "releaseLabel": "emr-6.6.0-latest
", "executionRoleArn": "execution-role-arn
", "certificateArn": "certificate-arn
", "configurationOverrides": { "applicationConfiguration": [ { "classification": "jupyter-kernel-overrides", "configurations": [ { "classification": "python3", "properties": { "container-image": "123456789012.dkr.ecr.us-west-2.amazonaws.com/custom-notebook-python:latest
" } }, { "classification": "spark-python-kubernetes", "properties": { "container-image": "123456789012.dkr.ecr.us-west-2.amazonaws.com/custom-notebook-spark:latest
" } } ] } ] } }然后,使用该 JSON 文件中指定的配置创建交互式端点,如以下示例所示。
aws emr-containers create-managed-endpoint --cli-input-json custom-image-managed-endpoint.json
有关更多信息,请参阅为虚拟集群创建交互式端点。
-
通过 EMR Studio 连接到交互式端点。有关更多信息,请参阅从 Studio 连接
。