【问题标题】:set number of file write attempts in spark context在 spark 上下文中设置文件写入尝试次数
【发布时间】:2020-07-16 05:29:38
【问题描述】:

我在 aws 胶水作业中运行 pyspark。作为 pyspark 脚本的一部分,我将 pyspark 数据帧作为 parquet 文件写入目录。我想修改我的 spark 上下文,以便在整个数据帧写入尝试失败之前,它会尝试将每个 parquet 文件写入目录至少 20 次。我开始我的代码的原始版本如下。我已经更新了下面的“更新”版本,因为我认为我应该修改火花上下文并将其与胶水上下文一起使用。有人可以告诉我我是否正确地做到了这一点,或者让我知道如何解决它?谢谢

原文:

import sys
from awsglue.transforms import *
from awsglue.utils import getResolvedOptions
from pyspark.context import SparkContext
from awsglue.context import GlueContext
from awsglue.job import Job

glueContext = GlueContext(SparkContext.getOrCreate())

spark = glueContext.spark_session

更新:

import sys
from awsglue.transforms import *
from awsglue.utils import getResolvedOptions
from pyspark.context import SparkContext
from awsglue.context import GlueContext
from awsglue.job import Job

sc = SparkContext()
sc._jsc.hadoopConfiguration().set("fs.s3.maxretries", "20")

glueContext = GlueContext(sc.getOrCreate())

spark = glueContext.spark_session

【问题讨论】:

  • 这也可以做同样的事情glueContext._jsc.hadoopConfiguration().set("fs.s3.maxretries", "20")

标签: apache-spark pyspark aws-glue


【解决方案1】:

您更新后的代码看起来不错 您可以通过打印以下方法中的值来验证是否设置了属性

sc.getConf().getAll()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-09-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多