选择迁移策略 - AWS 规范性指导

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

选择迁移策略

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

问题 建议

数据文件格式是什么(例如,CSV 或 Apache Parquet)?

  • 如果您的表格文件格式为 Parquet、ORC 或 Avro,请考虑就地迁移。

  • 对于其他格式,例如 CSV、JSON 等,请使用完整数据迁移。

是否要更新或整合表架构?

  • 如果您想使用 Iceberg 原生功能来改进表架构,请考虑就地迁移。例如,您可以在迁移后重命名列。(可以在 Iceberg 元数据层中更改架构。)

  • 如果您因为不再需要整列而想要删除它们,我们建议您使用完整数据迁移。

更改分区策略会给表带来好处吗?

  • 如果 Iceberg 的分区方法满足您的要求(例如,使用新的分区布局存储新数据,而现有分区保持原样),请考虑就地迁移。

  • 如果要在表中使用隐藏分区,请考虑完全数据迁移。有关隐藏分区的更多信息,请参阅 “最佳实践” 部分。

添加或更改排序顺序策略会给表格带来好处吗?

  • 添加或更改数据的排序顺序需要重写数据集。在这种情况下,可以考虑使用完整数据迁移。

  • 对于重写所有表分区成本高得令人望而却步的大型表,可以考虑使用就地迁移,并对最常访问的分区运行压缩(启用排序)。

表格里有很多小文件吗?

  • 将小文件合并成较大的文件需要重写数据集。在这种情况下,可以考虑使用完整数据迁移。

  • 对于重写所有表分区成本高得令人望而却步的大型表,可以考虑使用就地迁移,并对最常访问的分区运行压缩(启用排序)。