установить количество попыток записи файла в контексте искры - PullRequest
0 голосов
/ 04 апреля 2020

Я запускаю pyspark внутри aws работ по склеиванию. Как часть моего сценария pyspark, я записываю кадры данных pyspark в каталог в виде файлов паркета. Я хотел бы изменить мой искровой контекст так, чтобы он пытался записать каждый файл паркета в каталог по крайней мере 20 раз, прежде чем потерпеть неудачу при попытке записи всего фрейма данных. Оригинальная версия моего кода запуска приведена ниже. Я обновил «обновленную» версию ниже, как мне кажется, для того, чтобы изменить контекст spark и использовать его со связующим контекстом. Может кто-нибудь сказать мне, если я сделал это правильно, или дайте мне знать, как это исправить? Спасибо

Оригинал:

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

1 Ответ

0 голосов
/ 04 апреля 2020

Ваш обновленный код выглядит правильно. Вы можете проверить, установлено ли свойство, распечатав значение из приведенного ниже метода

sc.getConf().getAll()
...