设置spark上下文中的文件写入尝试次数



我正在aws粘合作业内部运行pyspark。作为pyspark脚本的一部分,我将pyspark数据帧作为parquet文件写入目录。我想修改我的spark上下文,以便在整个数据帧写入尝试失败之前,它将尝试将每个镶木地板文件写入目录至少20次。下面是我启动代码的原始版本。我已经更新了下面的"更新"版本,我认为我应该这样做,以便修改spark上下文并将其与glue上下文一起使用。有人能告诉我这个操作是否正确吗?或者让我知道如何修复它?感谢

原件:

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

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

sc.getConf().getAll()

最新更新