

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

# 一般的なベストプラクティス
<a name="best-practices-general"></a>

ユースケースにかかわらず、 で Apache Iceberg を使用する場合は AWS、以下の一般的なベストプラクティスに従うことをお勧めします。
+ **Iceberg 形式バージョン 2 を使用します。**

  Athena は、デフォルトで Iceberg 形式バージョン 2 を使用します。

  Amazon EMR で Spark または を使用して Iceberg テーブル AWS Glue を作成する場合は、[Iceberg ドキュメント](https://iceberg.apache.org/docs/nightly/configuration/#reserved-table-properties)の説明に従って形式バージョンを指定します。
+ **をデータカタログ AWS Glue Data Catalog として使用します。**

  Athena は AWS Glue Data Catalog デフォルトで を使用します。

  Amazon EMR で Spark を使用する場合、または Iceberg AWS Glue を操作する場合は、Spark セッションに次の設定を追加して を使用します AWS Glue Data Catalog。詳細については、このガイドの前半の[「Iceberg の Spark 設定 AWS Glue](iceberg-glue.md#glue-spark-config)」セクションを参照してください。

  ```
  "spark.sql.catalog.<your_catalog_name>.type": "glue"
  ```
+ **をロックマネージャー AWS Glue Data Catalog として使用します。**

  Athena は、デフォルトで Iceberg テーブルのロックマネージャー AWS Glue Data Catalog として を使用します。

  Amazon EMR で Spark を使用する場合、または Iceberg AWS Glue を操作する場合は、ロックマネージャー AWS Glue Data Catalog として を使用するように Spark セッション設定を必ず設定してください。詳細については、Iceberg ドキュメントの[「オプティミスティックロック](https://iceberg.apache.org/docs/latest/aws/#optimistic-locking)」を参照してください。
+ **Zstandard (ZSTD) 圧縮を使用します。**

  Iceberg のデフォルトの圧縮コーデックは gzip であり、テーブルプロパティ を使用して変更できます`write.<file_type>.compression-codec`。Athena はすでに Iceberg テーブルのデフォルトの圧縮コーデックとして ZSTD を使用しています。

  一般的に、ZSTD 圧縮コーデックを使用することをお勧めします。これは、GZIP と Snappy のバランスが取れており、圧縮率を損なうことなく優れた読み取り/書き込みパフォーマンスを実現するためです。さらに、必要に応じて圧縮レベルを調整できます。詳細については、[Athena ドキュメントの「Athena の ZSTD 圧縮レベル](https://docs.aws.amazon.com/athena/latest/ug/compression-support-zstd-levels.html)」を参照してください。

  Snappy は全体的な読み取りおよび書き込みパフォーマンスが最適ですが、GZIP および ZSTD よりも圧縮率が低くなります。パフォーマンスを優先する場合、Amazon S3 により大きなデータボリュームを保存する場合でも、Snappy が最適な選択肢である可能性があります。