Как экспортировать таблицу 2 ТБ из экземпляра RDS в S3 или Hive?

Я пытаюсь перенести всю таблицу из моего экземпляра RDS (MySQL 5.7) в S3 (файл csv) или в Hive.

Таблица имеет в общей сложности 2 ТБ данных. И у него есть столбец BLOB, в котором хранится zip-файл (обычно 100 КБ, но он может достигать 5 МБ).

Я провел несколько тестов со Spark, Sqoop и AWS DMS, но у меня были проблемы со всеми из них. У меня нет опыта экспорта данных из RDS с помощью этих инструментов, поэтому я очень ценю любую помощь.

Какой из них наиболее рекомендуется для этой задачи? И какая стратегия, на ваш взгляд, более эффективна?

1 ответ

Вы можете скопировать данные RDS на S3, используя конвейер AWS. Вот пример, который делает то же самое.

После того, как вы взяли дамп на S3 в формате csv, вы легко можете прочитать данные, используя искру, и зарегистрировать их как Hive Table.

val df = spark.read.csv("s3://...")
df.saveAsTable("mytable") // saves as hive
Другие вопросы по тегам