Amazon Glue Worker 类型
概览
Amazon Glue 提供多种 Worker 类型以适应不同的工作负载要求,从小型流式处理作业到大规模、内存密集型数据处理作业。本节提供有关所有可用的 Worker 类型、其规格和使用建议的全面信息。
Worker 类型类别
Amazon Glue 提供两种主要类别的 Worker:
-
G Worker 类型:针对标准 ETL 工作负载优化的通用计算 Worker
-
R Worker 类型:专为内存密集型 Spark 应用程序设计的内存优化 Worker
数据处理单元(DPU)
Amazon Glue 工作线程上可用的资源以 DPU 为单位进行衡量。DPU 是对处理能力的相对度量,它由 4 个 vCPU 的计算容量和 16GB 内存组成。
内存优化 DPU(M-DPU):R 型 Worker 使用 M-DPU;与标准 DPU 相比,其为给定大小提供双倍内存分配。这意味着,虽然标准 DPU 提供 16 GB 的内存,但 R 型 Worker 中的 M-DPU 可提供 32 GB 的内存,针对内存密集型 Spark 应用程序进行了优化。
可用 Worker 类型
G.1X – 标准 Worker
DPU:1 个 DPU(4 个 vCPU,16 GB 内存)
存储空间:94 GB 磁盘(约 44 GB 可用空间)
使用案例:数据转换、联接和查询 – 对于大多数作业来说可扩展且具有成本效益
G.2X – 标准 Worker
DPU:2 个 DPU(8 个 vCPU,32 GB 内存)
存储空间:138 GB 磁盘(约 78 GB 可用空间)
使用案例:数据转换、联接和查询 – 对于大多数作业来说可扩展且具有成本效益
G.4X – 大型 Worker
DPU:4 个 DPU(16 个 vCPU,64 GB 内存)
存储空间:256 GB 磁盘(约 230 GB 可用空间)
使用案例:要求转换、聚合、联接和查询
G.8X – 超大 Worker
DPU:8 个 DPU(32 个 vCPU,128 GB 内存)
存储空间:512 GB 磁盘(约 485 GB 可用空间)
使用案例:要求最高的转换、聚合、联接和查询
G.12X – 极大 Worker*
DPU:12 个 DPU(48 个 vCPU,192 GB 内存)
存储空间:768 GB 磁盘(约 741 GB 可用空间)
使用案例:需要大量计算容量的极大资源密集型工作负载
G.16X – 最大 Worker*
DPU:16 个 DPU(64 个 vCPU,256 GB 内存)
存储空间:1024 GB 磁盘(约 996 GB 可用空间)
使用案例:需要最大计算容量的最大且资源最密集的工作负载
R.1X – 小型内存优化型*
DPU:1 个 M-DPU(4 个 vCPU,32 GB 内存)
使用案例:经常出现内存不足错误或对内存与 CPU 比率要求较高的内存密集型工作负载
R.2X – 中型内存优化型*
DPU:2 个 M-DPU(8 个 vCPU,64 GB 内存)
使用案例:经常出现内存不足错误或对内存与 CPU 比率要求较高的内存密集型工作负载
R.4X – 大型内存优化型*
DPU:4 个 M-DPU(16 个 vCPU,128 GB 内存)
使用案例:经常出现内存不足错误或对内存与 CPU 比率要求较高的大型内存密集型工作负载
R.8X – 超大内存优化型*
DPU:8 个 M-DPU(32 个 vCPU,256 GB 内存)
使用案例:经常出现内存不足错误或对内存与 CPU 比率要求较高的极大内存密集型工作负载
*这些 Worker 可能会遇到更高的启动延迟。要解决该问题,请尝试以下操作:
等待几分钟,然后再次提交您的作业。
提交减少 Worker 数的新作业。
使用不同的 Worker 类型或规模提交新作业。
Worker 类型规格表
Worker 类型 | 每节点 DPU | vCPU | 内存 (GB) | 磁盘(GB) | 可用磁盘空间(GB) | 每节点 Spark 执行程序数 |
---|---|---|---|---|---|---|
G.1X | 1 | 4 | 16 | 94 | 44 | 1 |
G.2X | 2 | 8 | 32 | 138 | 78 | 1 |
G.4X | 4 | 16 | 64 | 256 | 230 | 1 |
G.8X | 8 | 32 | 128 | 512 | 485 | 1 |
G.12X | 12 | 48 | 192 | 768 | 741 | 1 |
G.16X | 16 | 64 | 256 | 1024 | 996 | 1 |
注意:R Worker 类型具有内存优化型配置,其规格针对内存密集型工作负载进行了优化。
重要注意事项
启动延迟
重要
G.12X 和 G.16X Worker 类型以及所有 R Worker 类型(R.1X 到 R.8X)均可能会遇到较高的启动延迟。要解决该问题,请尝试以下操作:
等待几分钟,然后再次提交您的作业。
提交减少 Worker 数的新作业。
使用不同的 Worker 类型和规模提交新作业。
选择合适的 Worker 类型
对于标准 ETL 工作负载
G.1X 或 G.2X:对于典型的数据转换、联接和查询最具成本效益
G.4X 或 G.8X:适用于要求更高、数据集更大的工作负载
对于大规模工作负载
G.12X:需要大量计算资源的超大型数据集
G.16X:为要求最高的工作负载提供最大计算容量
对于内存密集型工作负载
R.1X 或 R.2X:中小型内存密集型作业
R.4X 或 R.8X:频繁出现 OOM 错误的大型内存密集型工作负载
成本优化注意事项
标准 G Worker:提供计算、内存和联网资源的平衡,能够以较低的成本用于各种不同的工作负载
R Worker:专用于内存密集型任务,可为在内存中处理大型数据集的工作负载提供快速性能
最佳实践
Worker 选择准则
对于大多数工作负载,从标准 Worker(G.1X、G.2X)开始
当遇到频繁的内存不足错误或包含缓存、重排和聚合等内存密集型操作的工作负载时,使用 R Worker
对于需要最大资源的计算密集型工作负载,考虑使用 G.12X/G.16X
在时间敏感型工作流程中使用新 Worker 类型时,请考虑容量限制
性能优化
监控 CloudWatch 指标以了解资源利用率
根据数据大小和复杂性使用适当的 Worker 数量
考虑使用数据分区策略以优化 Worker 效率