Мне нужно загрузить данные (в виде CSV или TSV) из некоторого пути в корзине Amazon S3 в некоторые таблицы MemSQL. В будущем может потребоваться загрузка данных из хранилища BLOB-объектов Azure. Есть два способа, которые я знаю, чтобы сделать это:
- Конвейер MemSQL
- Загрузчик MemSQL (устарело)
Вот плюсы и минусы двух подходов, которые необходимо учитывать:
MemSQL Конвейер. Если мы создадим конвейер вручную, он будет автоматически продолжать выполнять свою работу. Однако постоянное поддержание конвейера в рабочем состоянии приведет к трате системных ресурсов (ОЗУ). Также новые файлы, содержащие данные для загрузки в MemSQL, будут добавляться в S3 только в определенное время дня (через какое-то задание cron). Итак, я хочу программно создать конвейер (используя JDBC), если он не существует, запустить конвейер, а затем остановить его после успешной загрузки всех данных (также обработать ошибки, если они есть во время процесса). Этот процесс будет выполняться как ежедневное задание cron. Однако я не смог найти способ узнать, все ли данные синхронизированы или нет. Также я не мог найти хорошего способа узнать, произошла ли какая-либо ошибка в процессе.
MemSQL Загрузчик — загрузчик MemSQL отправляет статус после завершения загрузки нужных данных. Итак, я могу выполнить вышеупомянутую работу внутри задания cron. Однако, поскольку загрузчик MemSQL устарел, я не хочу его использовать.
Пожалуйста, предложите лучший способ загрузки данных в таблицы MemSQL. Также, пожалуйста, дайте мне знать, если есть другие способы сделать то же самое (кроме конвейера и загрузчика).
Заранее спасибо.