Ошибка чтения из S3 сразу после записи - PullRequest
0 голосов
/ 13 сентября 2018

Иногда, с моей программой spark на AWS, если я записываю кадр данных в S3, а затем читаю его обратно, я получаю сообщения об ошибках типа

Caused by: java.io.FileNotFoundException: 
No such file or directory 
's3://mypath/part-00000-f788e0f4-2498-4230-85b0-30cab97fc2ea-c000.snappy.parquet'

Но когда я смотрю, файл явнотам.Я столкнулся с этим однажды и решил, поместив сон на 3 секунды между записью и чтением.Кто-нибудь знает, что здесь происходит?Я думаю, с точки зрения файловых систем, рассматривая s3 как сетевую файловую систему, есть ли способ синхронизировать мой взгляд на файловую систему, прежде чем я начну чтение?Может быть, я должен поспать 3 секунды, а затем выполнить команду aws s3 ls s3://mypath?

1 Ответ

0 голосов
/ 14 сентября 2018

Это из-за возможной последовательности S3.Это очень распространенная проблема.

Я могу придумать два способа решения этой проблемы -

  1. Подождите некоторое время после завершения операции записи и перед началомоперация чтения.Это то, что вы уже делаете.

  2. Используйте S3Guard. В этой статье подробно объясняется, как работает s3guard и как он помогает предотвращать проблемы с EC.

...