【问题标题】:AWS EMR, python pyspark script in EMR stepsAWS EMR,EMR 步骤中的 python pyspark 脚本
【发布时间】:2019-07-31 21:12:05
【问题描述】:

我尝试运行一个非常简单的 pyspark 脚本作为 aws emr 中的一个步骤,如下所示:

from pyspark.sql import SparkSession
sc = SparkContext()
df = sc.read.csv("s3://folder1/file.csv",header=True,inferSchema=True)
dd=df.select(df)
write_to = "s3://spark-workflow-test/"
dd.write.csv(write_to, sep = ";", header = True)
sc.stop()

它从文件夹中读取一些文件,选择一列,然后将其写入存储桶中的另一个文件。 由于某种原因,它一直失败,我不知道为什么。

此脚本在本地 spark 中运行良好,但在 emr 步骤中它一直失败并给出 exitCode=13。代码、火花配置是否有问题,或者我需要在控制台/emr 接口中做些什么? 我真的不知道在哪里寻找解决方案。

【问题讨论】:

  • 错误信息是什么?你检查过执行者的日志吗?顺便说一句,你想用dd=df.select(df) 达到什么目的?所有列都已从源中读取并包含在“df”中,因此无需再次选择它们
  • Yuri,.py 文件只是一个测试脚本。它在本地工作正常,但在 emr 步骤中提交它一直失败和失败,我不知道为什么。我应该检查哪些日志? emr-console 中的步骤选项卡上的那个还是 s3 中那些凌乱的日志文件?谢谢
  • 首先您应该检查步骤日志是否有任何有意义的失败原因。如果错误发生在执行程序中,那么您应该检查 s3 上的“containers/application_xxx/container_yyy”下的日志。你也可以看看'node//applications/hadoop-hdfs'。实际上,检查 s3 中的所有日志,直到找到有意义的错误。没有这个就很难猜出你有什么样的问题。

标签: amazon-web-services apache-spark amazon-s3 pyspark emr


【解决方案1】:

我认为您的错误与 this 问题中的错误相同。

您的 spark 上下文定义似乎不正确。将其替换为:

sc = SparkSession.builder.getOrCreate()

【讨论】:

    猜你喜欢
    • 2020-09-25
    • 1970-01-01
    • 2021-11-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-22
    • 1970-01-01
    相关资源
    最近更新 更多