Как скопировать несколько терабайт данных из GCS в S3?
В GCS есть замечательная функция "Перенос", которая позволяет импортировать данные из S3 в GCS.Но как сделать экспорт другим способом (кроме перемещения заданий по генерации данных в AWS)?
В: Почему бы не gsutil
?Да, gsutil поддерживает s3://
, но передача ограничена пропускной способностью сети этой машины.Как проще сделать это параллельно?
Я попробовал Dataflow (он же Apache Beam сейчас), он бы работал нормально, потому что его легко распараллелить на сотне узлов, но не вижу, что все простоскопируйте его отсюда в функцию '.
ОБНОВЛЕНИЕ: Кроме того, похоже, что Beam вычисляет список исходных файлов на локальном компьютере в одном потоке перед запуском конвейера.В моем случае это занимает около 40 минут.Было бы неплохо распространить его в облаке.
ОБНОВЛЕНИЕ 2: Пока я склонен использовать два собственных сценария, которые будут:
- Сценарий A: перечисляет все объекты для передачии поставьте задачу передачи для каждой задачи в очередь PubSub.
- Скрипт B: выполняет эти задачи передачи.Работает в облаке (например, Kubernetes), много экземпляров параллельно
Недостатком является то, что он пишет код, который может содержать ошибки и т. Д., Не используя встроенное решение, такое как GCS "Transfer".