AWS re:Postを使用することにより、以下に同意したことになります AWS re:Post 利用規約

Athena のクエリが「HIVE_PARTITION_SCHEMA_MISMATCH」というエラーで失敗するのはなぜですか?

所要時間1分
0

パーティションテーブルで Amazon Athena のクエリを実行すると、「HIVE_PARTITION_SCHEMA_MISMATCH」というエラーが表示されてクエリが失敗します。

簡単な説明

「HIVE_PARTITION_SCHEMA_MISMATCH」エラーは次のシナリオで発生することがあります。

  • パーティションのテーブルスキーマとテーブルスキーマ間に互換性がない。
  • テーブルのデータ形式で、試した種類の更新が許可されていない。

詳細については、「パーティションがあるテーブルを更新する」を参照してください。

解決策

パーティションスキーマを更新するように AWS Glue クローラを設定する

AWS Glue クローラを使用してテーブルを作成した場合は、パーティションスキーマを更新するように AWS Glue クローラを設定します。

次の手順を実行します。

  1. AWS Glue コンソールを開きます。
  2. ナビゲーションペインで、[クローラ] を選択します。
  3. 設定するクローラを選択します。
  4. [アクション] を選択し、[クローラの編集] を選択します。
  5. [次へ] を選択し、[クローラの出力の選択] ページに移動するまで [次へ] を選択し続けます。
  6. [設定オプション] を展開します。
  7. [すべての新規パーティションと既存パーティションをテーブルのメタデータで更新] を選択します。
  8. [次へ] 、[完了] の順に選択してクローラの設定を保存します。
  9. [クローラ] ページで、クローラを選択します。
  10. [クローラの実行] を選択します。クローラを実行すると、パーティションがテーブルスキーマを継承します。

Athena DDL ステートメントを使用して影響を受けたパーティションを削除し、そのパーティションを再作成する

テーブルを手動で作成した場合は、Athena データ定義言語 (DDL) ステートメントを使用して影響を受けたパーティションを削除し、そのパーティションを再作成します。

次の手順を実行します。

  1. Amazon Athena コンソールを開きます。
  2. [クエリエディタ] タブで、ALTER TABLE DROP PARTITION コマンドを実行して、影響を受けたパーティションを削除します。
  3. ALTER TABLE ADD PARTITION コマンドを実行して、削除したパーティションを再作成します。

**注:**テーブルで Hive 互換パーティションを使用している場合は、MSCK REPAIR TABLE コマンドを実行して、削除したパーティションを再作成できます。

関連情報

Syncing partition schema to avoid "HIVE_PARTITION_SCHEMA_MISMATCH"

Setting crawler configuration options

AWS公式
AWS公式更新しました 10ヶ月前