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

クエリベースのコネクタ

LakeFlow Connectのクエリベースのコネクタは、チェンジデータキャプチャ (CDC) の設定を必要とせず、ソースを直接クエリすることで、データベースからデータを取り込みます。binlog や CDC インフラストラクチャに依存するのではなく、最後のパイプライン実行後に新規または更新された行を追跡するために、単調に増加するタイムスタンプまたは整数列であるカーソル列を使用します。

クエリベースのコネクタは、 Unity Catalog接続とレイクハウスフェデレーションを使用してソース データベースに接続し、結果をストリーミング テーブルに書き込みます。

仕組み​

各パイプラインの実行時、クエリベースのコネクタはソースデータベースをクエリし、カーソル列の値が前回の実行からのハイウォーターマークより大きいすべての行を取得します。コネクタは、各実行の成功後にカーソル列のハイウォーターマークを保存し、次の実行の下限として使用します。

Timestampカーソルを使用した SCD_TYPE_1 および SCD_TYPE_2 の取り込みの場合、コネクタは、各ランでの高ウォーターマークの直下にある短い行のウィンドウを再読み込みします。これにより、高ウォーターマークが前進した後に長時間の実行のソース・トランザクションによってコミットされた行など、遅れて到着するレコードがキャプチャされます。これらのモードでは主キーによって Merge が行われるため、変更されていない再読み込み行はべき等に調整され、重複行や SCD バージョンは作成されません。APPEND_ONLY の取り込みでは、このウィンドウは使用されません。

コネクタはソースに直接問い合わせを行うため、取り込みゲートウェイやステージングボリュームは不要です。パイプラインは、継続的に実行されるのではなく、ユーザーが定義したスケジュールに基づいて実行されます。

クエリベースのコネクタとCDCデータベースコネクタの比較​

クエリベースのコネクタは、CDCデータベースコネクタとは以下の点で異なります。

  • 取り込みゲートウェイなし :CDCコネクタは、バイナリログイベントをキャプチャするためにゲートウェイを必要とします。クエリベースのコネクタはゲートウェイを使用しません。
  • ステージングボリュームなし :CDCコネクタは抽出されたデータをステージングボリュームにバッファリングします。クエリベースのコネクタは、ソースクエリから宛先テーブルへ直接書き込みます。
  • 継続的ではなくスケジュール実行 :クエリベースのコネクタはスケジュールに基づいて実行されます。それらは、実行間のすべての中間行状態を捉えるわけではありません。これらは、変更された行の最新の状態のみをキャプチャします。
  • より幅広いソース互換性 :適切なカーソル列を持つデータベースであれば、CDCやバイナリログへのアクセスをサポートしていなくても、有効なソースとして使用できます。

トレードオフとして、クエリーのパフォーマンスが低下する可能性があり、クエリーがソーステーブル上で直接実行されるため、binlog をクエリーする CDC コネクタと比較してソースデータベースへの負荷が高くなる可能性があります。論理削除の追跡は、deletion_conditionを使用してサポートされています。物理削除の追跡は、ベータ版でもサポートされています。どちらもAPI構成が必要です。

サポートされている摂取方法​

クエリベースのコネクタは、複数のデータ取り込み方法をサポートしています。使用するアプローチによって、どの構成が必要かが決まります。

アプローチ

どのように繋がるか

必須

外国とのつながりの摂取

ソースデータベースの認証情報を保存する接続を使用します。コネクタは、接続を利用してソースデータベースに直接クエリを実行します。

connection_name、source_catalog、source_schema、source_table、 cursor_column

フォーリンカタログの摂取

alaykハウスフェデレーションデータソースによるフォーリンカタログを使用します。 このコネクタは、ソース データベースに直接接続するのではなく、フォーリンカタログを使用してソース データを読み取ります。

ingest_from_uc_foreign_catalog: true、 cursor_columns 、 primary_keys ( APPEND_ONLYモードを使用しない場合は必須)

アプローチ

どのように繋がるか

必須

外国とのつながりの摂取

ソースデータベースの認証情報を保存する接続を使用します。コネクタは、接続を利用してソースデータベースに直接クエリを実行します。

connection_name、source_catalog、source_schema、source_table、 cursor_column

フォーリンカタログの摂取

alaykハウスフェデレーションデータソースによるフォーリンカタログを使用します。 このコネクタは、ソース データベースに直接接続するのではなく、フォーリンカタログを使用してソース データを読み取ります。

ingest_from_uc_foreign_catalog: true、 cursor_columns 、 primary_keys ( APPEND_ONLYモードを使用しない場合は必須)

サポートされているソース​

以下のデータベースソースがサポートされています。

外部接続の取り込み ソース :

  • Oracle
  • テラデータ
  • SQL Server
  • MySQL
  • MariaDB
  • PostgreSQL

フォーリンカタログの摂取 ソース :

すべてのレイクハウスフェデレーション データソースは、フォーリンカタログの取り込みを使用してサポートされています。 完全なリストについては、レイクハウスフェデレーションを参照してください。

サポートされているインターフェース​

クエリベースのパイプラインを作成するには、Databricks UI または Declarative Automation Bundles を使用できます。

コンピュート要件​

クエリーベースの取り込みパイプラインはdefaultでServerlessコンピュート上でランしますが、クラシックコンピュートのデプロイメントもサポートされています。Databricksでは、Serverlessコンピュートの使用を推奨しています。クエリーベースの取り込みパイプラインを作成するを参照してください。

サーバレス コンピュートでクエリベースのコネクタを使用するには、コンピュート環境でソース データベースへのネットワーク接続が許可されている必要があります。 レイクハウスフェデレーションの ネットワーキング とネットワーキングの推奨事項を参照してください。

履歴追跡(SCD)モード​

クエリベースのコネクタは、宛先テーブルに対して、以下の履歴追跡モード(緩やかに変化するディメンション( SCD )モードとも呼ばれる)をサポートしています。

  • SCD_TYPE_1: 宛先テーブルの既存の行を最新のソース行で上書きします。宛先テーブルは履歴を保持しません。
  • SCD_TYPE_2 : バージョンメタデータ付きの新しい行を追加することで、行の変更履歴を完全に保持します。履歴追跡を有効にする(SCDタイプ2)を参照してください。
  • APPEND_ONLY :取り込まれたすべての行を、マージや上書きを行わずに宛先テーブルに追加します。

スキーマ進化​

クエリベースのコネクタはLakeFlow Connectの他の管理コネクタと同じ方法でスキーマ進化を処理します。 「マネージド コネクタはスキーマ進化をどのように処理しますか?」を参照してください。 。