Как сделать доступными данные из Athena, когда основной раздел S3 обновляется с помощью spark? - PullRequest
0 голосов
/ 07 января 2020

Я пишу задание Apache, которое обрабатывает потоковые данные и записывает данные в корзину S3. В Афине созданы таблицы AWS, использующие эти данные для запроса. Эти данные также разбиты на несколько полей, таких как customerid, datetime et c. Работа Spark использует коммиттер S3A для записи в S3. Поскольку данные поступают через регулярные промежутки времени, задание Spark обрабатывает эти данные и объединяет их с существующими данными в сегменте S3 (считывает существующий раздел, объединяет вновь поступившие данные и перезаписывает раздел).

Меня беспокоит то, что эти разделы обновляются в течение дня, и запись раздела S3 не является операцией атома c, когда раздел обновляется (перезаписывается) и если клиент запрашивает данные в этот самый момент момент, как он будет себя вести? Как мне обработать обновление раздела, чтобы данные всегда были доступны?

...