Я пытаюсь добавить обработку ошибок в мой код. Я запускаю pyspark-код внутри aws-склеивания. Я хотел бы создать текстовый файл при возникновении ошибки, а затем написать короткое сообщение и сообщение об ошибке в текстовый файл. У меня есть пример того, что я попробовал ниже. Когда я запускаю код попытки / исключения, он возвращает ошибку, что такого файла или каталога нет. Обходной путь, который я предложил, - создать динамический фрейм и добавить к нему столбец с сообщением об ошибке в виде строки. Я должен думать, что есть более простой способ сделать это. Кто-нибудь знает лучший способ записать сообщения об ошибках в текстовый файл как часть блока try / Кроме того, в клеевой pyspark?
пример пробного кода:
for i in [1,0,3]:
try:
print(1/i)
except Exception as e:
logf=open('s3://xxxx/error_logs/error_test.log',"a")
logf.write("failed {0}: {1}\n".format(str(i), str(e)))
logf.close()
print(e)
pass
обход кода длявыписываю в csv:
log_txt = glueContext.create_dynamic_frame_from_options("s3", {'paths': ["s3://xxxx/error_logs/"] }, format="csv" )
log_txt_df=log_txt.toDF()
log_txt_df=log_txt_df.withColumn('try',lit('test'))
log_txt_df.show()