当AWS Glue作业失败并且错误信息显示为"Command failed with exit code 137"时,这通常表示作业在执行过程中遇到了内存限制问题。
解决此问题的方法是增加AWS Glue作业的内存限制。以下是如何在AWS Glue作业中设置内存限制的示例代码:
import sys
from awsglue.transforms import *
from awsglue.utils import getResolvedOptions
from pyspark.context import SparkContext
from pyspark.sql import SparkSession
args = getResolvedOptions(sys.argv, ['JOB_NAME'])
sc = SparkContext()
glueContext = GlueContext(sc)
spark = glueContext.spark_session
# 设置作业的内存限制为4GB
spark.conf.set("spark.executor.memory", "4g")
spark.conf.set("spark.driver.memory", "4g")
# 定义作业逻辑
# ...
# 运行作业
# ...
# 结束作业
# ...
在上面的示例中,我们使用spark.conf.set()
方法将作业的内存限制设置为4GB。您可以根据作业的要求调整此值。
请注意,根据作业的复杂性和数据量,您可能需要增加作业的内存限制。如果问题仍然存在,您可以尝试将内存限制增加到更高的值。
希望这个解决方法对您有所帮助!