翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
クローラーによる既存のスキーマの変更を防止する
実行時に、AWS Glue クローラー が Data Catalog に対してスキーマの変更を行わないようにすることができます。デフォルトでは、クローラーは Data Catalog 内のスキーマを更新して、クロールするデータソースと一致させます。ただし、特にデータを変換またはクリーンアップし、元のスキーマに変更を上書きしない場合は、クローラーが既存のスキーマを変更できないようにする必要があります。
テーブル定義の既存のスキーマを上書きしないようにクローラーを設定するには、次の手順に従います。
-
AWS Management Console
-
-
AWS Management Consoleにサインインし、AWS Glue コンソール (https://console.aws.amazon.com/glue/) を開きます。
-
[Data Catalog] で [クローラー] を選択します。
-
リストからクローラーを選択したら、[編集] を選択します。
-
[ステップ 4: 出力とスケジュールを設定する] を選択します。
-
[詳細オプション] で、[新しい列のみを追加] または [変更を無視し、Data Catalog のテーブルを更新しない] を選択します。
-
すべての新規パーティションと既存パーティションをテーブルのメタデータで更新するように設定オプションを設定できます。この設定により、パーティションスキーマがテーブルから継承されます。
[Update] (更新) を選択します。
- AWS CLI
-
次の例は、既存のスキーマを変更せず、新しい列のみを追加するようにクローラーを設定する方法を示しています。
aws glue update-crawler \
--name myCrawler \
--configuration '{"Version": 1.0, "CrawlerOutput": {"Tables": {"AddOrUpdateBehavior": "MergeNewColumns"}}}'
次の例は、既存のスキーマを変更せず、新しい列を追加しないようにクローラーを設定する方法を示しています。
aws glue update-crawler \
--name myCrawler \
--schema-change-policy UpdateBehavior=LOG \
--configuration '{"Version": 1.0, "CrawlerOutput": {"Partitions": { "AddOrUpdateBehavior": "InheritFromTable" }}}'
- API
-
クローラーの実行時にテーブルスキーマを一切変更しない場合は、スキーマ変更ポリシーを LOG
に設定します。
API を使用してクローラーを設定する場合は、以下のパラメータを設定します。
SchemaChangePolicy
構造の UpdateBehavior
フィールドを LOG
に設定します。
クローラー API で次の JSON オブジェクトの文字列表現を使用して Configuration
フィールドを設定します。
{
"Version": 1.0,
"CrawlerOutput": {
"Partitions": { "AddOrUpdateBehavior": "InheritFromTable" }
}
}