マッピングおよびマッピングタスクのルールとガイドライン オープンテーブルコネクタを使用するタスクを設定するには、特定のルールとガイドラインに従う必要があります。
一般的なルールとガイドライン - キャッシュを使用しないルックアップは、ルックアップトランスフォーメーションでは使用できません。マッピング - Apache IcebergテーブルがParquet形式であることを確認します。- 多数のレコードを書き込むようにマッピングタスクを設定する場合は、より大きなコミット間隔を指定することで、パフォーマンスを向上させることができます。デフォルトのコミット間隔は10,000レコードです。- Ends With またはContains 演算子を使用した単純なフィルタでは、Apache Icebergテーブルでの読み取りや書き込みはできません。- AWS Glueカタログで利用可能なApache Icebergテーブルに対してデータの読み取りや書き込みを行うためのマッピングをオープンテーブル接続で実行する場合、AWS GlueカタログとAmazon S3バケットが異なるリージョンにあると、マッピングは失敗します。- 詳細フィルタ内ではタイムトラベルクエリのみを使用できます。- 単純なフィルタをパラメータ化することはできません。- 挿入操作用に元々設定されている既存のマッピングを、パーティションテーブルに対する更新、更新/挿入、または削除操作を行うために変更して再実行することは推奨されません。既存のターゲットマニフェストファイルにパーティションのメタデータが不足している可能性があるためです。既存のマッピングを使用して更新、更新/挿入、または削除操作を行う必要がある場合は、まずマッピングのTruncate Targetプロパティを有効にして、データを再取り込みする必要があります。これにより、他のターゲット操作を実行する前に、パーティションのメタデータが確実に更新され、保存されます。詳細モードのマッピング - データを取得するために[次の文字で始まる] 、[次の文字で終わる] 、または[次の文字を含む] 演算子を含む単純なフィルタを指定すると、実行時にマッピングが失敗します。この問題を回避するには、like クエリを使用して、テキストの完全一致ではなくパターンに基づいてクエリ結果をフィルタリングします。- タイムスタンプデータ型のフィールドに詳細データフィルタを設定すると、フィルタでは時刻が無視され、日付のみが考慮されます。- 日付またはタイムスタンプのデータ型カラムに対して単純なフィルタを適用してタスクを実行すると、次のエラーで失敗します。An error occurred during mapping translation: Invalid expression string for filter condition
回避策として、詳細フィルタを使用して、オープンテーブルソースから日付とタイムスタンプのデータ型カラムをフィルタリングします。
- フィールドマッピング内にマッピングされていない条件フィールドがあるときは、そのマッピングを使用した更新/挿入ターゲット操作は失敗します。- AWS GlueカタログのApache Icebergテーブルに対してデータの読み取りと書き込みを行う場合、ソースとターゲットが異なるリージョンの異なるAWS Glueカタログに属していると、マッピングは失敗します。- Hive Metastoreによって管理されるApache Icebergテーブルでマッピングを設定する場合は、ソーステーブルとターゲットテーブルが同じストレージタイプを使用していることを確認します。一方のテーブルでAmazon S3が使用され、他方のテーブルでMicrosoft Azure Data Lake Storage Gen2が使用されている場合、マッピングは失敗します。- マッピングでHiveメタストアカタログによって管理されるApache Icebergテーブルからデータの読み取りを行うと、プレビュージョブは失敗します。- マッピングでHiveメタストアカタログによって管理されるApache Icebergテーブルから大量のデータの読み取りを行うと、ソーステーブルのデータプレビューは失敗します。- マッピングを設定するときは、ソーステーブルとターゲットテーブルが同じオープンテーブル形式を使用するようにしてください。一方のテーブルでApache Iceberg形式を使用し、他方のテーブルでDelta Lake形式を使用すると、マッピングは失敗します。- ルックアップトランスフォーメーションのランタイム統計には、ルックアップ条件に基づいて処理されたレコードの数は示されません。代わりに、ソーステーブルから読み取られた行の数が表示されます。- ターゲットで拒否された行またはエラー行が原因でマッピングが失敗した場合、ソースとターゲットのランタイム統計には正しい情報が表示されません。