Как экспортировать таблицу 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