在AWS Glue作业中指定只有一个执行器,可以避免出现多个执行器的情况。可以在作业脚本中添加以下代码:
from pyspark.context import SparkContext
from pyspark.sql import SparkSession
sc = SparkContext()
sc._jsc.hadoopConfiguration().set("mapreduce.job.run-local", "false")
sc._jsc.hadoopConfiguration().set("mapreduce.job.shuffle.input.buffer.percent", "0.2")
spark = SparkSession(sc)
glueContext = GlueContext(sc)
job = Job(glueContext)
job.init('job_name', sys.argv)
# 以下指定只有一个执行器
spark.conf.set('spark.executor.instances', '1')
# 作业代码
...
在这个例子中,我们通过 spark.conf.set('spark.executor.instances', '1')
来指定只有一个执行器。这可以避免出现多个执行器的问题,从而保证作业正常执行。