

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# 移行戦略の選択
<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 />+  すべてのテーブルパーティションを書き換えるコストが非常に高い大きなテーブルの場合は、インプレース移行の使用を検討し、最も頻繁にアクセスされるパーティションに対して圧縮 (ソートが有効) を実行してください。   | 