クエリベースコネクタの制限
一般的な制限事項
- クエリベースのコネクタは、スケジュールに基づいてソースにクエリを実行します。それらは継続的な摂取を促しません。レイテンシを低減する必要がある場合は、マネージドCDCデータベースコネクタを使用してください。
- カーソル列は単一の列でなければなりません。複合カーソル(複数の列を組み合わせたもの)はサポートされていません。列の値は単調増加でなければならない。カーソル値が保存されている最高水位マーク以下の行は再取り込みされません。
- カーソル列がNULLの行は取り込まれません。
ソーステーブルの要件と推奨事項
クエリベースのインジェストワークロードを設計する際には、次のソーステーブルの特性を考慮してください。テーブルの取り込み方法とワークロードのパフォーマンスに影響します。
「主キー、一意キー、およびカーソル」
クエリベースのコネクタは、主キー (PK) または一意キー (UK) を使用して行を識別し、カーソル列を使用して変更を検出します。取り込み動作は、ソーステーブルで利用可能な項目によって異なります。
ソーステーブル | データ取り込み動作 |
|---|---|
カーソル付きのPKまたはUK | 定期的なスナップショットおよび増分取り込み |
カーソルなしのプライマリキーまたはユニークキー | バッチ スナップショット モード( |
PKまたはUKがありませんが、カーソルは利用可能です。 | コネクタはすべての列から合成キーを生成します。これは重複する行がないテーブルに有効です。完全に重複した行があるテーブルでは、 |
PKまたはUKがなく、カーソルもありません。 | コネクタはすべての列から合成キーを生成します。 |
パーティショニングとインデックス作成の推奨事項
-
パーティション列 :コネクタは、並行読み込みのためにソースクエリをパーティション分割する列を自動的に選択します。先頭の主キー列が最初に試行されます。ただし、それが数値、文字列、日付、またはタイムスタンプ型である場合に限ります。その列が適切でない場合、代わりに一意のキー列を選択します。バランスの取れたパーティション分割の場合、列は以下を備えている必要があります。
- 高カーディナリティ :1 TBに近づくテーブルには、少なくとも1,000個の異なる値が推奨されます。
- データスキューが低い場合 :値がいくつかの値に大きく偏っている列は避けてください。歪度が高い列により、サイズが大きすぎるパーティションが作成され、クエリのタイムアウトが発生したり、実行が再起動されたときに進行状況が失われたりする可能性があります。
自動的に選択された列がこれらの基準を満たさない場合、パーティショニング列のオーバーライドをリクエストするには、Databricksアカウントチームにお問い合わせください。
-
インデックス付きカーソル列 :ソースデータベースでカーソル列にインデックスを作成します。インデックスが作成されていないカーソル列は、増分クエリのパフォーマンスを低下させます。
API専用機能
クエリベースのコネクタでは、以下の機能がサポートされていますが、APIを使用する場合に限ります。
- 行フィルタリング
- ソフト削除追跡(
deletion_condition) - 完全削除追跡機能(ベータ版)
- 追記専用取り込み(
APPEND_ONLYSCDモード) - 複数宛先カタログおよびスキーマ