AWS Glue ジョブとそのブックマークを正常に実行できなかったり、必要なデータを処理できなかったりします。
解決策
ブックマークを正しく設定する
ブックマークを設定する際、次の操作を行います。
- ジョブで [ブックマークを有効にする] オプションを有効にします。
- ジョブの同時実行最大数を 1 に設定します。
ブックマークを正しく実装する
抽出、変換、ロード (ETL) ジョブでは、AWS Glueの DynamicFrame API を使用してデータソースからデータを読み取ります。
注: データソースからデータを読み取る際、DataFrame API または Apache Spark SQL は使用しないでください。これらの方法は、AWS Glue のジョブブックマーク機能をサポートしていません。
スクリプトに次の内容を含めてください。
`job.init(args['JOB_NAME'], args) `
`datasource0 = glueContext.create_dynamic_frame.from_catalog(database = "db_name",table_name = "table_name", transformation_ctx = "datasource0")`
`job.commit()`
DynamicFrame の作成時には、ETL オペレータインスタンスの一意の識別子として、transformation_ctx を追加する必要があります。
注: スクリプトを更新または変更する際に、transformation_ctx パラメータは変更しないでください。
JDBC ソースのブックマークに関する問題のトラブルシューティング
Java Database Connectivity (JDBC) ソースへのブックマークで問題が発生した場合は、次の手順を実行します。
- AWS Glue スクリプトでブックマークキーとして使用する列が指定されていない場合は、テーブルのプライマリキーをギャップを入れずに昇順または降順でソートします。
- スクリプトでユーザー定義のブックマークをキーとして使用している場合は、キーを昇順または降順にソートします。この場合はギャップを含めることができます。
- 大文字と小文字が区別される名前が含まれる列は、ブックマークキーとして使用しないでください。
関連情報
ジョブブックマークを使用して処理されるデータを追跡する