Я новичок в S3 и думаю о том, чтобы сохранить в нем некоторые данные с помощью java. Сейчас наше приложение состоит из двух сервисов: service1 и service2.

Service1 сохранит промежуточные результаты в S3, а service2 продолжит работу оттуда.

Что касается вывода service1, я бы разделил его на две категории.

  1. данные, которые другая команда будет использовать и манипулировать ими.
  2. промежуточный результат, который может использовать только service2. Так что никакая другая команда не участвует и не манипулирует этим.

Для данных категории 1 я сохраню их в файле parquet и загрузю в s3. Для данных в категории 2 я думаю о прямом сохранении «сырых» данных в файл на s3 (например, карту сложных объектов), потому что структура данных действительно сложна.

У меня есть три вопроса по сохранению "сырых" данных в S3.

  1. Это хорошая идея? Если нет, то почему? А какой вариант хороший? Я использую java.
  2. Если нет ничего плохого в сохранении «сырых» данных, смогу ли я получить их как оригинальные, когда прочту их?
  3. если я просто использую aws S3 api для загрузки объекта, когда данные будут слишком большими, возникнет ли потенциальная проблема?

Пожалуйста помоги. Благодарю.

1
Laodao 13 Авг 2020 в 00:37

1 ответ

S3 не волнует, являются ли ваши данные «необработанными» или в каком-то структурированном формате - я храню оба типа по разным причинам и никогда не испытывал проблем.

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

2
E.J. Brennan 12 Авг 2020 в 21:56