

 从补丁 198 开始，Amazon Redshift 将不再支持创建新的 Python UDF。现有的 Python UDF 将继续正常运行至 2026 年 6 月 30 日。有关更多信息，请参阅[博客文章](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/)。

# 加载数据文件
<a name="c_best-practices-use-multiple-files"></a>

源数据文件采用不同的格式，并使用不同的压缩算法。使用 COPY 命令加载数据时，Amazon Redshift 会加载 Amazon S3 桶前缀引用的所有文件。（前缀是对象键名称开头的一串字符。） 如果前缀指的是多个文件或可以拆分的文件，Amazon Redshift 会利用 Amazon Redshift 的 MPP 架构并行加载数据。这将在集群中的节点间划分工作负载。相比之下，当您从无法拆分的文件加载数据时，Amazon Redshift 会强制执行序列化加载，这样速度会慢得多。以下部分介绍将不同文件类型加载到 Amazon Redshift 的建议方法，具体取决于它们的格式和压缩情况。

## 从可以拆分的文件中加载数据
<a name="c_best-practices-use-multiple-files-split"></a>

加载以下文件的数据时，可以自动拆分这些文件：
+ 未压缩的 CSV 文件
+ 列式文件（Parquet/ORC）

Amazon Redshift 会自动将 128MB 或更大的文件拆分成数据块。列式文件（特别是 Parquet 和 ORC）如果小于 128MB，则不会被拆分。Redshift 利用并行工作的切片来加载数据。实现快速加载性能。

## 从无法拆分的文件加载数据
<a name="c_best-practices-use-multiple-files-comma"></a>

 使用 GZIP 等其他压缩算法进行压缩时，JSON 或 CSV 等文件类型不会自动拆分。对于这些文件类型，我们建议您手动将数据拆分为多个大小接近的小文件，这些小文件压缩后的大小介于 1MB 到 1GB 之间。此外，将文件数设为您的集群中切片数的倍数。有关如何将数据拆分为多个文件的更多信息和如何使用 COPY 加载数据的示例，请参阅[从 Amazon S3 加载数据](https://docs.aws.amazon.com/redshift/latest/dg/t_Loading-data-from-S3.html)。