簡體   English   中英

EMR - Pyspark 錯誤 - 容器以非零退出代碼 13 退出。錯誤文件:prelaunch.err

[英]EMR - Pyspark error -Container exited with a non-zero exit code 13. Error file: prelaunch.err

我正在嘗試在 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 中的某些內容。 但是,不確定。 任何幫助表示贊賞。 謝謝你。

以下更改我的代碼解決了這個問題:

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()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM