EMR - Pyspark 错误 - 容器以非零退出代码 13 退出。错误文件:prelaunch.err
Posted
技术标签:
【中文标题】EMR - Pyspark 错误 - 容器以非零退出代码 13 退出。错误文件:prelaunch.err【英文标题】:EMR - Pyspark error -Container exited with a non-zero exit code 13. Error file: prelaunch.err 【发布时间】:2020-12-22 16:20:22 【问题描述】:我正在尝试在 pyspark 中执行一个类似于程序的 hello world。我已经通过 boto3 创建了一个 EMR 集群,并添加了执行我的代码的步骤。
步骤是:
'Name': 'Run Step',
'ActionOnFailure': 'CONTINUE',
'HadoopJarStep':
'Args': [
'spark-submit',
'--master', 'yarn',
'--deploy-mode', 'cluster',
# '--py-files',
's3://bucket/s3csvload.py'
],
'Jar': 'command-runner.jar'
我要执行的代码是
rom pyspark.sql import *
from pyspark.sql.types import *
from pyspark.sql.functions import *
from pyspark.sql import SparkSession
spark = SparkSession.builder.master('yarn').appName('DIF1').getOrCreate()
Input_schema1 = StructType([StructField("sepal_length", DecimalType(), True),
StructField("sepal_width", DecimalType(), True),
StructField("petal_length", DecimalType(), True),
StructField("petal_width", DecimalType(), True),
StructField("species", StringType(), True)])
lookup_df = spark.read \
.option("header", "true") \
.option("inferSchema", "true") \
.option("schema", Input_schema1) \
.csv("s3://bucket/iris.csv")
lookup_df.write.csv("s3://bucket/Target")
我面临的错误是:
20/12/22 15:27:29 INFO Client:
client token: N/A
diagnostics: Application application_1xxxx0_0003 failed 2 times due to AM Container for appattempt_16xxxxx10_0003_000002 exited with exitCode: 13
Failing this attempt.Diagnostics: [2020-12-22 15:27:28.643]Exception from container-launch.
Container id: container_16xxxx10_0003_02_000001
Exit code: 13
[2020-12-22 15:27:28.644]Container exited with a non-zero exit code 13. Error file: prelaunch.err.
Last 4096 bytes of prelaunch.err :
Last 4096 bytes of stderr :
我已尝试相关链接。帮助不大。
我想我必须在 spark session builder 中进行一些更改。但是,不确定。 任何帮助表示赞赏。谢谢。
【问题讨论】:
【参考方案1】:以下更改我的代码解决了这个问题:
Steps=[
'Name': 'Run Step',
'ActionOnFailure': 'CONTINUE',
'HadoopJarStep':
'Jar': 'command-runner.jar',
'Args': ['sudo',
'spark-submit',
'--master', 'yarn',
# '--conf','spark.yarn.submit.waitAppCompletion=true'
'--deploy-mode', 'cluster',
'--py-files', 's3a://bucket/pgm.py', 's3a://bucket/pgm.py'
]
]
spark = SparkSession.builder.appName('DIF1').getOrCreate()
【讨论】:
以上是关于EMR - Pyspark 错误 - 容器以非零退出代码 13 退出。错误文件:prelaunch.err的主要内容,如果未能解决你的问题,请参考以下文章
错误:任务“:app:transformClassesWithDexForDebug”执行失败。以非零退出值 1 结束