将任务分配容量增加到能够处理给定任务的最大容量。这可以通过在AWS Glue Job中增加workers或在开发向导中调整任务参数来实现。
AWS Glue Job示例:
job = Job(glueContext)
job.init(args['job-name'])
job.set_number_of_workers(10)
修改任务代码以使其在少数worker上运行更高效,并减少资源消耗。这可通过合并ETL作业步骤、减少代码中的重复计算、使用高效数据结构和升级AWS Glue参考文档中提供的最佳实践方法等方法来实现。
在AWS Glue Job中使用优化的硬件和软件资源,例如AWS Glue Worker Type和Spark调优选项等,以提高任务的性能并减少任务调度容量。
AWS Glue Job示例:
glue_context_options = {
'worker_type': 'G.1X',
'number_of_workers': 10,
'spark_dynamic_partition_pruning': True,
'spark_optimize_shuffle': True,
'spark_partition_size': 256,
}
glue_context = GlueContext(SparkContext.getOrCreate(), **glue_context_options)