

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 选择迁移策略
<a name="migration-strategy"></a>

过渡到 Iceberg 格式时，在就地迁移和完全迁移之间做出选择至关重要。要确定最适合您特定需求的方法，请考虑以下问题和建议：


| 问题 | 建议 | 
| --- | --- | 
| **数据文件格式是什么（例如，CSV 或 Apache Parquet）？** |  +  如果您的表格文件格式为 Parquet、ORC 或 Avro，请考虑就地迁移。 <br />+  对于其他格式，例如 CSV、JSON 等，请使用完整数据迁移。   | 
| **是否要更新或整合表架构？** |  +  如果您想使用 Iceberg 原生功能来改进表架构，请考虑就地迁移。例如，您可以在迁移后重命名列。（可以在 Iceberg 元数据层中更改架构。） <br />+  如果您因为不再需要整列而想要删除它们，我们建议您使用完整数据迁移。   | 
| **更改分区策略会给表带来好处吗？** |  +  如果 Iceberg 的分区方法满足您的要求（例如，使用新的分区布局存储新数据，而现有分区保持原样），请考虑就地迁移。 <br />+  如果要在表中使用隐藏分区，请考虑完全数据迁移。有关隐藏分区的更多信息，请参阅 “[最佳实践](best-practices-read.md#read-partitioning-hidden)” 部分。   | 
| **添加或更改排序顺序策略会给表格带来好处吗？** |  +  添加或更改数据的排序顺序需要重写数据集。在这种情况下，可以考虑使用完整数据迁移。 <br />+  对于重写所有表分区成本高得令人望而却步的大型表，可以考虑使用就地迁移，并对最常访问的分区运行压缩（启用排序）。   | 
| **表格里有很多小文件吗？** |  +  将小文件合并成较大的文件需要重写数据集。在这种情况下，可以考虑使用完整数据迁移。 <br />+  对于重写所有表分区成本高得令人望而却步的大型表，可以考虑使用就地迁移，并对最常访问的分区运行压缩（启用排序）。   | 