我在S3上有一堆拼图文件,我想以最优的方式将它们加载到红移中。
每个文件被拆分成多个块……将数据从S3加载到RedShift的最佳方式是什么?
另外,如何在RedShift中创建目标表定义?有没有一种方法可以从Parquet中推断出模式并编程创建表?我相信有一种使用红移光谱的方法可以做到这一点,但我想知道这是否可以在脚本中完成。感谢您的帮助!
我正在考虑所有AWS工具(如Glue、Lambda等)以最优的方式实现这一点(在性能、安全性和成本方面)。
Amazon RedShiftCOPY command可以使用参数:
本地加载拼图文件FORMAT AS PARQUET
参见:Amazon Redshift Can Now COPY from Parquet and ORC File Formats
该表必须预先创建;不能自动创建。
另请注意COPY from Columnar Data Formats - Amazon Redshift:
复制按列在列数据文件中出现的顺序将值插入到目标表的列中。目标表中的列数和数据文件中的列数必须匹配。