将大型SQL表转储为.csv,并将其拆分为多个单独的csv以进行Redshift



我在Oracle数据库中有一个表,我们称之为tableA,需要上传到redshift。在线查找了几种方法,大多数建议使用datagrip或其他IDE来转储它。Oracle报告的表大小为89GB,所以我不能使用datagrip将其作为.csv文件转储。如何将其转储为分区.csv,以便使用RedShift的COPY命令进行更快的上载?请询问可能需要的任何进一步信息。

尝试使用此实用程序.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;

最新更新