选择您的 Cookie 首选项

我们使用必要 Cookie 和类似工具提供我们的网站和服务。我们使用性能 Cookie 收集匿名统计数据,以便我们可以了解客户如何使用我们的网站并进行改进。必要 Cookie 无法停用,但您可以单击“自定义”或“拒绝”来拒绝性能 Cookie。

如果您同意,AWS 和经批准的第三方还将使用 Cookie 提供有用的网站功能、记住您的首选项并显示相关内容,包括相关广告。要接受或拒绝所有非必要 Cookie,请单击“接受”或“拒绝”。要做出更详细的选择,请单击“自定义”。

AWS Glue 开发终端节点如何与 SageMaker 笔记本配合使用

聚焦模式
AWS Glue 开发终端节点如何与 SageMaker 笔记本配合使用 - AWS Glue

访问开发终端节点的常见方法之一是使用 SageMaker 笔记本上的 Jupyter。Jupyter notebook 是一个开源的 Web 应用程序,广泛应用于可视化、分析和机器学习等领域。AWS Glue SageMaker 笔记本为您提供 AWS Glue 开发终端节点的 Jupyter notebook 体验。在 AWS Glue SageMaker 笔记本中,Jupyter notebook 环境预先配置了 SparkMagic,这是一个开源 Jupyter 插件,用于将 Spark 任务提交至远程 Spark 集群。Apache Livy 是一种允许通过 REST API 与远程 Spark 集群进行交互的服务。在 AWS Glue SageMaker 笔记本中,SparkMagic 被配置为针对运行在 AWS Glue 开发终端节点上的 Livy 服务器调用 REST API。

以下文本流说明了每个组件的工作原理:

AWS Glue SageMaker 笔记本:(Jupyter → SparkMagic) →(网络)→ AWS Glue 开发端点:(Apache Livy → Apache Spark)

在 Jupyter notebook 上运行在每个段落中编写的 Spark 脚本后,Spark 代码将通过 SparkMagic 提交到 Livy 服务器,然后名为“livy-session-N”的 Spark 任务会在 Spark 集群上运行。此任务称为 Livy 会话。Spark 任务将在笔记本会话处于活跃状态时运行。当您从笔记本中关闭 Jupyter 内核或会话超时时,Spark 任务将终止。每个笔记本(.ipynb)文件启动一个 Spark 任务。

您可以将单个 AWS Glue 开发终端节点与多个 SageMaker 笔记本实例结合使用。您可以在每个 SageMaker 笔记本实例中创建多个笔记本文件。当您打开每个笔记本文件并运行段落时,将通过 SparkMagic 在 Spark 集群上针对每个笔记本文件启动一个 Livy 会话。每个 Livy 会话对应于一项 Spark 任务。

AWS Glue 开发终端节点和 SageMaker 笔记本的默认行为

Spark 任务基于 Spark 配置运行。有多种方法可以设置 Spark 配置(例如,Spark 集群配置、SparkMagic 的配置等)。

默认情况下,Spark 会根据 Spark 集群配置将集群资源分配给 Livy 会话。在 AWS Glue 开发终端节点中,集群配置取决于工作线程类型。下表阐述了每个工作线程类型的常见配置。

Standard G.1X G.2X
spark.driver.memory 5G 10G 20G
spark.executor.memory 5G 10G 20G
spark.executor.cores 4 8 16
spark.dynamicAllocation.enabled TRUE TRUE TRUE

Spark 执行程序的最大数量是通过将 DPU(或 NumberOfWorkers)和工作线程类型结合自动计算得出的。

Standard G.1X G.2X
Spark 执行程序的最大数量 (DPU - 1) * 2 - 1 (NumberOfWorkers - 1) (NumberOfWorkers - 1)

例如,如果您的开发终端节点有 10 个工作线程,并且工作线程类型为 G.1X,那么您将有 9 个 Spark 执行程序,整个集群将有 90G 的执行程序内存,因为每个执行程序都有 10G 的内存。

无论指定的工作线程类型如何,都将打开 Spark 动态资源分配。如果数据集足够大,Spark 可能会将所有执行程序分配给单个 Livy 会话,因为默认情况下 spark.dynamicAllocation.maxExecutors 未设置。这意味着同一开发端点上的其他 Livy 会话将等待启动新的执行程序。如果数据集很小,Spark 将能够同时将执行程序分配给多个 Livy 会话。

注意

有关如何在不同使用案例中分配资源,以及如何设置配置以修改行为的详细信息,请参阅 高级配置:在多个用户之间共享开发终端节点

本页内容

隐私网站条款Cookie 首选项
© 2025, Amazon Web Services, Inc. 或其附属公司。保留所有权利。