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

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

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

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

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


person Eduardo Macedo    schedule 02.10.2017    source источник


Ответы (1)


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

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

val df = spark.read.csv("s3://...")
df.saveAsTable("mytable") // saves as hive
person Avishek Bhattacharya    schedule 02.10.2017