Чтение Spark Dataframe из S3 Bucket, а другой процесс записывает в него? - PullRequest
0 голосов
/ 20 сентября 2018

Могут ли возникнуть проблемы с чтением искрового фрейма данных и, скажем, сохранение его через блокнот Jupyter и другой процесс, выполняющий одновременную запись в корзину s3?

Скажем,

Я читаю фрейм данных как:

 s3 = spark.read.parquet('s3://path/to/table')

И поработайте над этим в записной книжке.

Одновременно я записываю в одно и то же ведро s3 в какой-то момент другим способом, например

system('s3-dist-cp --src --dest s3://path/to/table)

Это когда-нибудь окажется проблемой?Я в порядке, когда испортил чтение / фрейм данных, но я не хотел бы блокировать запись в корзину.

1 Ответ

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

Это вызовет исключение FNF при любом действии с первым прочитанным вами DF.

 s3 = spark.read.parquet('s3://path/to/table')

Первое задание на искру, которое задействовано в приведенном выше примере, перечисляет листовые файлы и каталоги.Поскольку существовал другой процесс, который записывал / переписывал данные, пути были бы устаревшими.

Кроме того, следует также учитывать возможное поведение согласованности S3.

...