записывать ошибки клея pypspark в текстовый файл - PullRequest
0 голосов
/ 10 ноября 2019

Я пытаюсь добавить обработку ошибок в мой код. Я запускаю 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()
...