胶水dpu与最大并发之间的关系

时间:2018-09-04 04:59:37

标签: apache-spark concurrency amazon-sqs aws-glue

我已经在 Amazon EMR 上工作了1年多,但是最近我们已移至aws glue进行数据处理。

我很难理解我们在胶水作业中提供的no of dpusmax concurrency之间的关系。

例如,我用2 dpusmax concurrency as 2创建了一个工作。最重要的是,假设我有two threads一次启动此端点(作业)。

假设我正在60GB file上进行一些汇总。我确实找到了一些帖子,但并没有真正帮助,例如thisthis

我期望使用胶水进行这项工作的次数是多少?

1 个答案:

答案 0 :(得分:1)

AWS提供了两个描述上述问题的关键文档:

https://docs.aws.amazon.com/glue/latest/dg/troubleshooting-service-limits.html

https://docs.aws.amazon.com/glue/latest/dg/add-job.html

基于这些文档,我们具有以下与我们的主题相关的作业参数和服务限制:

服务器限制:

  • “每个帐户的并发作业数”
  • “每个作业的并发作业数”
  • “一个角色一次使用的最大DPU”

胶水作业参数:

  • “最大并发性”
  • “每个作业运行并发DPU”

这是指一项胶水作业的规则:

  • “最大并发性” *“每个作业运行并发DPU” <=“一个角色一次使用的最大DPU”
  • “最大并发性” <=“每个作业的并发作业数”
  • 胶水作业次数<=“最大并发性”

如果您同时运行多个粘合作业,则还必须满足以下规则:

  • 粘合作业运行的数量*“每作业运行并发DPU” <=“一个角色一次使用的最大DPU”
  • 粘合作业运行次数<=“每个帐户的并发作业运行次数”

假设您使用默认的服务限制,并且您没有同时运行其他作业:

每个作业的并发作业数:3

一个角色一次使用的最大DPU:100

这意味着您最多可以并行运行三个相同的粘合作业,并且这些任务的总数不能超过100个DPU的限制。

例如: 您可以使用DPU = 30和max concurrency = 3运行3个胶水作业实例,但是当您使用DPU = 50和max concurrency = 3运行3个胶水作业实例时,您将收到以下错误:

“您帐户的最大并行计算容量超出了容量”

我希望它将对您有帮助