メインコンテンツまでスキップ

クエリベースコネクタのリファレンス

備考

プレビュー

この機能は パブリック プレビュー段階です。

このページには、 LakeFlow Connectのクエリベースコネクタに関するリファレンスドキュメントが含まれています。これには、構成の制限、カーソル列の要件、削除追跡構文、およびエラー条件が含まれます。

パイプライン構成

クエリベースのコネクタでは、次のものがサポートされています。 これらの値をパイプライン構成のingestion_definitionブロックに設定してください。

パラメーター

Type

必須

説明

connection_name

string

外部接続の取り込みに必要

ソースデータベースの認証情報を格納する接続の名前。ingest_from_uc_foreign_catalogtrueの場合、 connection_nameを指定しないでください。

ingest_from_uc_foreign_catalog

boolean

フォーリンカタログの取り込みに必要

レイクハウスフェデレーションが支援するフォーリンカタログから取り込むには、 trueに設定します。 trueの場合、 connection_nameを指定しないでください。

source_catalog

string

はい

ソース システムのカタログ (または、 ingest_from_uc_foreign_catalogtrueの場合はフォーリンカタログ名)。

source_schema

string

はい

取り込むソースシステムのスキーマ。

source_table

string

テーブルレベルのオブジェクトに必須

取り込むソーススキーマ内のテーブル。

cursor_column

string

外部接続の取り込みに必要

増分追跡に使用するカーソル列の名前。単調増加する単一の列である必要があります。カーソル列の要件を参照してください。

cursor_columns

文字列のリスト

フォーリンカタログの取り込みに必要

カーソル列名を含むリスト。サポートされている列は1つのみです。

primary_keys

文字列のリスト

履歴追跡 ( SCD ) モードがAPPEND_ONLY (フォーリンカタログ取り込み) でない場合は必須

マージ操作で行を識別するために使用される主キー列。SCD_TYPE_1モードとSCD_TYPE_2モードで必須です。

deletion_condition

string

No

ソフト削除を表す行に対してtrueと評価されるSQL式。APIを使用してのみ設定可能です。削除条件を参照してください。

hard_deletion_sync_min_interval_in_seconds

integer

No

ハード削除を検出するためのプライマリキースナップショットスキャン間の最小間隔(秒)。設定されていない場合、完全削除の追跡は無効になります。APIを使用してのみ設定可能です(ベータ版)。完全削除の追跡を参照してください。

scd_type

string

No

宛先テーブルの履歴追跡(SCD)モード。サポートされている値: SCD_TYPE_1 (デフォルト)、 SCD_TYPE_2APPEND_ONLY

destination_catalog

string

はい

書き込み先のテーブルを指定するカタログ。

destination_schema

string

はい

書き込み先のテーブルのスキーマ。

destination_table

string

No

宛先テーブルの名前。指定しない場合は、ソーステーブル名がデフォルト値として使用されます。宛先テーブルの名前指定を参照してください。

カーソル列の要件

カーソル列は、パイプライン実行間の進捗状況を段階的に追跡します。コネクタは、各実行が成功するたびに最大カーソル値を保存し、次回の実行時にそれを下限フィルタとして使用します。

要件:

  • カーソル列は1つだけ指定する必要があります。複合カーソルとして複数の列を指定することはできません。複数指定した場合、パイプラインはINVALID_CURSOR_COLUMNSで失敗します。
  • カーソル列は単調増加しなければならない。価値は決して低下してはならない。カーソル値が保存された最高水位マーク以下の行は、後続の実行時に再取り込みされません。
  • カーソル列がNULLの行は取り込まれません。

サポートされている列タイプ:

  • タイムスタンプまたは日付型(推奨)
  • 数値型(整数、長整数、小数、倍精度浮動小数点数)
  • バイナリ型(バイナリ数としてエンコードされたもの)
  • 文字列型

削除条件

deletion_condition問題により、クエリベースのコネクタが論理的な削除を検出できるようになります。 この機能はAPIを使用してのみ設定可能です。

この値は、宛先テーブルで削除済みとして扱われるべき行に対してtrueと評価されるSQL式です。コネクタは、パイプラインの実行ごとにこの式を評価します。

構文:

"deletion_condition": "<sql-expression>"

例:

JSON
"deletion_condition": "deleted_at IS NOT NULL"
JSON
"deletion_condition": "is_deleted = 1"
JSON
"deletion_condition": "status = 'DELETED'"

行がdeletion_conditionに一致すると、コネクタは対応する行を宛先テーブルから削除するか ( SCD_TYPE_1の場合)、削除済みとしてマークします ( SCD_TYPE_2の場合)。

完全削除追跡

hard_deletion_sync_min_interval_in_seconds問題により、クエリベースのコネクタはハード削除、つまりソース テーブルから物理的に削除された行を検出できるようになります。 この機能はベータ版であり、APIを使用してのみ設定可能です。

ハード削除追跡は、ソーステーブルに存在する主キーのスナップショットを定期的に取得し、それを宛先テーブルと比較することによって機能します。宛先には存在するが、ソースのスナップショットには存在しない行は、削除されたものとして扱われます。

この値は、スナップショットスキャン間の最小間隔(秒単位)を設定します。この値は下限値として機能します。パイプラインの実行頻度がこの間隔よりも低い場合、ハード削除同期はより頻繁に実行されるのではなく、実際の取り込み頻度に合わせて実行されます。この問題を更新しても、完全なスナップショットはトリガーされません。

注記

ハード削除の追跡には、テーブル上でprimary_keysを設定する必要があります。

構文:

"hard_deletion_sync_min_interval_in_seconds": <integer>

例:

JSON
"hard_deletion_sync_min_interval_in_seconds": 86400

この例では、ハード削除スキャンは24時間(86400秒)に1回以下実行されます。

エラー条件

最もよくあるエラーはINVALID_CURSOR_COLUMNSです。これは、カーソル列が正しく設定されていない場合に発生します。ステップのトラブルシューティングについては、 「無効なカーソル列」を参照してください。