#oracle #amazon-redshift
#Oracle #amazon-redshift
Вопрос:
У меня есть таблица, назовем ее tableA
, в базе данных Oracle, которую мне нужно загрузить в redshift. Посмотрел несколько методов в Интернете, большинство из них предлагают использовать datagrip или какую-либо другую среду IDE для ее сброса. Размер таблицы, о которой сообщает Oracle, составляет 89 ГБ, поэтому я не могу использовать DataGrip для дампа ее в виде файла .csv. Как мне сбросить его как разделенный .csv, чтобы я мог использовать COPY
команду RedShift для более быстрой загрузки? Пожалуйста, запросите любую дополнительную информацию, которая может потребоваться.
Ответ №1:
Попробуйте использовать эту утилиту.util Он выполняет файлы sql последовательно и сохраняет результат в отдельных файлах csv. Он использует sqlplus в консольном режиме, sqlplus — лучшая утилита для повышения производительности, но это не дружелюбный пользователь.
Попробуйте разделить sql по первичному ключу. Установите диапазоны по первичному ключу в отдельных файлах sql. например
sql1.sql
select col1, col2, col3. col4 from tableA where col1 >0 and col1<=1000000;
sql2.sql
select col1, col2, col3. col4 from tableA where col1 >1000000 and col1<=2000000;
sql3.sql
select col1, col2, col3. col4 from tableA where col1 >2000000 and col1<=3000000;