オープンテーブルコネクタ > オープンテーブルコネクタを使用したマッピングとマッピングタスク > マッピングのオープンテーブルターゲット
  

マッピングのオープンテーブルターゲット

オープンテーブルターゲットを使用するようにマッピングを設定するときに、ターゲットのプロパティを設定します。
オープンテーブルターゲットの名前と説明を指定します。ターゲットトランスフォーメーションで、オープンテーブルオブジェクトのターゲットプロパティと詳細プロパティを設定します。
次の表に、ターゲットトランスフォーメーションで設定できるプロパティを示します。
プロパティ
説明
接続
ターゲット接続の名前。
既存の接続の選択、新しい接続の作成、またはターゲット接続プロパティのパラメータ値の定義ができます。
実行時にターゲット接続プロパティを上書きする場合は、[実行時にパラメータのオーバーライドを許可する]オプションを選択します。
ターゲットタイプ
オープンテーブルターゲットオブジェクトのタイプ。
ターゲットタイプには、次のいずれかを選択できます。
  • - 単一オブジェクト。単一のオープンテーブルオブジェクトを指定する場合に選択します。
  • - パラメータ。パラメータ名を指定する場合に選択します。このターゲットトランスフォーメーションを使用するマッピングに関連付けられたマッピングタスクでターゲットオブジェクトを設定できます。
パラメータ
タスクを編集せずに更新する値を定義するパラメータファイル。
ターゲットオブジェクトに既存のパラメータを選択するか、[新しいパラメータ]をクリックしてターゲットオブジェクトに新しいパラメータを定義します。
ターゲットタイプとして[パラメータ]を選択する場合にのみ[パラメータ]プロパティが表示されます。
実行時にターゲットオブジェクトを上書きする場合は、[実行時にパラメータのオーバーライドを許可する]オプションを選択します。
タスクが実行されると、Secure Agentは詳細セッションプロパティで指定されたファイルのこのパラメータを使用します。
オブジェクト
ターゲットオブジェクトの名前。
リストから既存のオブジェクトを選択するか、実行時にターゲットオブジェクトを作成できます。実行時にターゲットオブジェクトを作成する方法については、実行時のターゲットテーブルの作成(AWS Glueカタログに対して)のトピックを参照してください。
注:
接続でHiveメタストアカタログを設定した場合、実行時にターゲットオブジェクトを作成することはできません。
操作
ターゲット操作のタイプ。
次のいずれかの操作を選択します。
  • - Insert
  • - Update
  • - Upsert
  • - Delete
注:
オープンテーブルターゲットでデータドリブン操作を設定することはできません。
更新カラム
オープンテーブルターゲットの更新、更新/挿入、または削除操作の条件フィールドとして、一意のキーカラムを選択します。
以下の表に、ターゲットトランスフォーメーションで設定できる詳細プロパティを示します。
プロパティ
説明
ターゲットの切り詰め
有効にすると、Secure Agentはデータをロードする前にターゲットテーブルを切り詰めます。
デフォルトでは、このチェックボックスは選択されていません。
Iceberg詳細プロパティ
Icebergテーブルに設定するプロパティ。
プロパティは次の形式で入力します。
<パラメータ名>=<パラメータ値>
複数のプロパティを入力する場合は、それぞれのプロパティを新しい行に入力します。
Amazon S3でAWS Glueカタログを使用しており、ソースとターゲットが異なるリージョンにある場合は、更新、更新/挿入、または削除ターゲット操作にAmazon S3バケットリージョンのプロパティを次の形式で指定する必要があります。
BucketRegion=<Amazon-S3-target-bucket-region-name>
マッピングにおいて、AWS GlueカタログとAmazon S3を併用し、それらが異なるリージョンにある場合は、Amazon S3バケットリージョンのプロパティを次の形式で指定する必要があります。
BucketRegion=<bucket-region-name>
マッピングにおいて、AWS GlueカタログとAmazon S3を併用し、それらが異なるリージョンにある場合は、Amazon S3バケットリージョンのプロパティを次の形式で指定する必要があります。
s3.access-points.<bucket-name>=<S3-bucket-ARN>
Amazon S3でHiveメタストアを使用しており、ソースとターゲットが異なるリージョンにある場合は、Amazon S3バケットリージョンのプロパティを次の形式で指定する必要があります。
BucketRegion=<Amazon-S3-target-bucket-region-name>
Amazon S3でRESTカタログを使用しており、ソースとターゲットが異なるリージョンにある場合は、Amazon S3バケットリージョンのプロパティを次の形式で指定する必要があります。
restcatalog.iceberg.s3.client.region = <Amazon-S3-source-bucket-region-name>
Delta Sparkのプロパティ*
Delta Lakeテーブルに対して設定するプロパティ。
プロパティは次の形式で入力します。
<パラメータ名>=<パラメータ値>
複数のプロパティを入力する場合は、それぞれのプロパティを新しい行に入力します。
Amazon S3でAWS Glueカタログを使用しており、それらが異なるリージョンにある場合は、Amazon S3バケットリージョンのプロパティを次の形式で指定する必要があります。
BucketRegion=<bucket-region-name>
UpdateMode
指定したモードに基づいてターゲットにデータをロードします。
このプロパティは、[更新]または[更新/挿入]操作を選択した場合に適用されます。
次のいずれかのモードを選択します。
  • - 更新時に更新。指定された一意のキーカラムの値が受信カラムの値と一致する場合に、ターゲットテーブルのレコードを更新します。
  • - Update Else Insert。指定された一意のキーカラムの値が受信カラムの値と一致する場合に、ターゲットテーブルのレコードを更新します。一意のキーカラムの値が一致しない場合、マッピングはレコードとともに新しい行を挿入します。
Pre-SQL
Apache Icebergオープンテーブル形式にデータを書き込む前に実行するPre-SQLクエリ。
セミコロンで区切った複数のクエリを入力できます。
  • - マッピングの場合は、SQLクエリで必ず有効なAthena SQL構文を使用します。
  • - 詳細モードでのマッピングの場合は、SQLクエリで必ず有効なSpark SQL構文を使用します。
  • テーブル名の前に<OpenTableCatalog>文字列とデータベース名を入力する必要があります。
    例: <OpenTableCatalog>.databasename.tablename
    クエリのデータベース名とテーブル名の識別子は小文字にする必要があります。
Pre-SQLクエリが失敗すると、マッピングも失敗します。
Post-SQL
Apache Icebergオープンテーブル形式にデータを書き込んだ後に実行するPost-SQLクエリ。
セミコロンで区切った複数のクエリを入力できます。
  • - マッピングの場合は、SQLクエリで必ず有効なAthena SQL構文を使用します。
  • - 詳細モードでのマッピングの場合は、SQLクエリで必ず有効なSpark SQL構文を使用します。
  • テーブル名の前に<OpenTableCatalog>文字列とデータベース名を入力する必要があります。
    例: <OpenTableCatalog>.databasename.tablename
    クエリのデータベース名とテーブル名の識別子は小文字にする必要があります。
Post-SQLクエリが失敗すると、マッピングも失敗します。マッピングが失敗した場合、Post-SQLクエリは実行されません。
スナップショットの保持
テーブルの履歴を管理し、スナップショットの自動失効や不要になったデータファイルの削除を行うことで、ストレージを最適化するための設定。
スナップショットの保持を有効にするには、対象テーブルのenable snapshot expiryプロパティをtrueに設定します。
以下の定義済みプロパティをカスタマイズできます。
  • - スナップショット保持期間。指定された日数より前に作成されたすべてのスナップショットを削除します。デフォルト値は7dです。
  • - 保持する最小スナップショット数。指定された最新の数のスナップショットは、保持期間を過ぎていても削除されずに保持されます。デフォルト値は5です。
  • - 有効期限切れスナップショットID。削除対象のスナップショットを削除します。スナップショットのスナップショットIDを指定します。
孤立ファイルのクリーンアップ*
テーブルのメタデータにより参照されていないファイルを削除するための設定。
孤立ファイルのクリーンアップを有効にするには、対象テーブルのenable orphan file cleanupプロパティをtrueに設定します。
以下の定義済みプロパティをカスタマイズできます。
  • - 孤立ファイルの保持期間指定された日数より前に作成されたすべての孤立ファイルを削除します。デフォルト値は3dです。
マニフェストファイルの再書き込み
小さなマニフェストファイルをまとめて少数の大きなファイルに統合し、データファイルをコンパクト化するための設定。
マニフェストファイルの再書き込みを有効にするには、対象テーブルのenable rewrite manifestプロパティをtrueに設定します。
*詳細モードのマッピングにのみ適用されます。

実行時のターゲットテーブルの作成(AWS Glueカタログに対して)

マッピングの結果は、既存のターゲットに保存することも、新たにターゲットを作成して保存することもできます。ターゲットの作成を選択し、タスクの実行時にターゲットが存在しない場合は、エージェントによって作成されます。
ターゲットプロパティを指定するには、次のタスクを実行します。
    1マッピングでターゲットトランスフォーメーションを選択します。
    2ターゲットを指定するには、[ターゲット]タブをクリックします。
    3 ターゲット接続を選択します。
    4ターゲットタイプとして[単一オブジェクト]または[パラメータ]を選択します。
    5ターゲットオブジェクトまたはパラメータを指定します。
    6 ターゲットオブジェクトを指定するには、次のタスクを実行します。
    1. a[選択]をクリックしてターゲットオブジェクトを選択します。実行時に、既存のターゲットオブジェクトを使用するか、新しいターゲットオブジェクトを作成するかを選択できます。
    2. bターゲットオブジェクトを実行時に作成するには、[実行時に新規作成]を選択します。
    3. c[オブジェクト名]フィールドに、作成するターゲットテーブルの名前を入力します。ターゲットテーブル名は小文字にする必要があります。
    4. d[カタログ名とデータベース名]フィールドに、AWS Glueカタログ名とデータベース名を<catalogname>/<databasename>という形式で入力します。データベース名は小文字である必要があります。
    5. e[テーブルの場所]フィールドに、ターゲットテーブルデータの場所を入力します。
    6. fテーブルのプロパティを指定して、テーブル構成設定を最適化します。
    7. g[OK]をクリックします。
    8. 次の画像に、サンプルのターゲットオブジェクトを示します。