重要
Lakeflow Connect のマネージド コネクタは、さまざまな リリース状態にあります。
この記事では、SaaS アプリケーションとデータベースからデータを取り込むための Databricks Lakeflow Connect のマネージド コネクタの概要について説明します。 結果として得られるインジェスト パイプラインは Unity カタログによって管理され、サーバーレス コンピューティングと Lakeflow 宣言型パイプラインを利用します。 マネージド コネクタでは、効率的な増分読み取りと書き込みを利用して、データ インジェストを高速化、スケーラブル、コスト効率に優れ、ダウンストリームで使用するためにデータを最新の状態に保ちます。
SaaS コネクタ コンポーネント
SaaS コネクタには、次のコンポーネントがあります。
コンポーネント | 説明 |
---|---|
接続 | アプリケーションの認証の詳細を格納するセキュリティ保護可能な Unity カタログ オブジェクト。 |
インジェスト パイプライン | アプリケーションからコピー先テーブルにデータをコピーするパイプライン。 インジェスト パイプラインはサーバーレス コンピューティングで実行されます。 |
宛先テーブル | インジェスト パイプラインがデータを書き込むテーブル。 これらは ストリーミング テーブルであり、増分データ処理を追加でサポートする Delta テーブルです。 |
データベース コネクタ コンポーネント
データベース コネクタには、次のコンポーネントがあります。
コンポーネント | 説明 |
---|---|
接続 | データベースの認証の詳細を格納するセキュリティ保護可能な Unity カタログ オブジェクト。 |
インジェスト ゲートウェイ | ソース データベースからスナップショット、変更ログ、およびメタデータを抽出するパイプライン。 ゲートウェイは従来型のコンピューティングで実行され、ソースで変更ログが切り捨てられる前に変更をキャプチャするために常時実行されます。 |
ステージング領域 | 展開先テーブルに適用される前に抽出されたデータを一時的に格納する Unity カタログ ボリューム。 これにより、ゲートウェイが変更を継続的にキャプチャする場合でも、任意のスケジュールでインジェスト パイプラインを実行できます。 また、障害復旧にも役立ちます。 ゲートウェイをデプロイすると、ステージング ストレージ ボリュームが自動的に作成され、その場所にあるカタログとスキーマをカスタマイズできます。 データは、30 日後にステージングから自動的に消去されます。 |
インジェスト パイプライン | ステージング ストレージから宛先テーブルにデータを転送するパイプライン。 パイプラインはサーバーレス コンピューティングで実行されます。 |
宛先テーブル | インジェスト パイプラインがデータを書き込むテーブル。 これらは ストリーミング テーブルであり、増分データ処理を追加でサポートする Delta テーブルです。 |
オーケストレーション
インジェスト パイプラインは、1 つ以上のカスタム スケジュールで実行できます。 パイプラインに追加するスケジュールごとに、Lakeflow Connect によって自動的に ジョブ が作成されます。 インジェスト パイプラインは、ジョブ内のタスクです。 必要に応じて、ジョブにさらにタスクを追加できます。
データベース コネクタの場合、インジェスト ゲートウェイは、連続タスクとして独自のジョブで実行されます。
増分インジェスト
Lakeflow Connect では、増分インジェストを使用してパイプラインの効率を向上させます。 パイプラインの最初の実行では、選択したすべてのデータがソースから取り込まれます。 並行して、ソース データへの変更を追跡します。 パイプラインの後続の実行ごとに、その変更追跡を使用して、可能な場合は、前の実行から変更されたデータのみを取り込みます。
正確なアプローチは、データ ソースで使用できる内容によって異なります。 たとえば、SQL Server で変更の追跡と変更データ キャプチャ (CDC) の両方を使用できます。 これに対し、Salesforce コネクタは、オプションのセット リストからカーソル列を選択します。
一部のソースまたは特定のテーブルでは、現時点では増分インジェストがサポートされていません。 Databricks では、増分サポートの対象範囲を拡大する予定です。
ネットワーク
SaaS アプリケーションまたはデータベースに接続するには、いくつかのオプションがあります。
- SaaS アプリケーション用のコネクタは、ソースの API にアクセスします。 また、サーバーレスエグレス 制御と自動的に互換性があります。
- クラウド データベースのコネクタは、Private Link 経由でソースに接続できます。 または、ワークスペースに、データベースをホストする VNet または VPC とピアリングされた仮想ネットワーク (VNet) または Virtual Private Cloud (VPC) がある場合は、その内部にインジェスト ゲートウェイをデプロイできます。
- オンプレミス データベースのコネクタは、AWS Direct Connect や Azure ExpressRoute などのサービスを使用して接続できます。
デプロイメント
Databricks アセット バンドルを使用してインジェスト パイプラインをデプロイできます。これを使用すると、ソース管理、コード レビュー、テスト、継続的インテグレーションと配信 (CI/CD) などのベスト プラクティスを実現できます。 バンドルは Databricks CLI を使用して管理され、開発、ステージング、運用など、さまざまなターゲット ワークスペースで実行できます。
障害復旧
フル マネージド サービスとして、Lakeflow Connect は可能な限り問題から自動的に復旧することを目的としています。 たとえば、コネクタが失敗すると、指数バックオフで自動的に再試行されます。
エラーに対する介入が必要になる場合があります。たとえば、資格情報の有効期限が切れる場合などです。 このような場合、コネクタはカーソルの最後の位置を格納することで、データの欠落を回避しようとします。 その後、可能であれば、パイプラインの次の実行でその位置からバックアップを取得できます。
モニタリング
Lakeflow Connect は、パイプラインを維持するのに役立つ堅牢なアラートと監視を提供します。 これには、イベント ログ、クラスター ログ、パイプラインの正常性メトリック、およびデータ品質メトリックが含まれます。
機能の互換性
次の表は、各マネージド インジェスト コネクタの機能の可用性をまとめたものです。 その他の機能と制限事項については、特定のコネクタのドキュメントを参照してください。
特徴 | Google アナリティクス | Salesforce | Workday | SQL Server | ServiceNow | SharePoint |
---|---|---|---|---|---|---|
ステータス | 一般公開 | 一般公開 | 一般公開 | 一般公開 | 一般公開 | ベータ |
UI ベースのパイプライン作成 | イエス | イエス | いいえ | イエス | イエス | いいえ |
API ベースのパイプライン作成 | イエス | イエス | イエス | イエス | イエス | イエス |
Databricks アセット バンドル | イエス | イエス | イエス | イエス | イエス | イエス |
増分インジェスト | イエス | はい - 数式フィールドの一時的な例外を使用します。 詳細については、「 コネクタで更新プログラムを増分プルする方法」を参照してください。 | いいえ | イエス | はい - テーブルにカーソル フィールドがない場合は例外です。 | イエス |
Unity Catalog(ユニティカタログ)のガバナンス | イエス | イエス | イエス | イエス | イエス | イエス |
Databricks ワークフローを使用したオーケストレーション | イエス | イエス | イエス | イエス | イエス | イエス |
SCD タイプ 2 | イエス | いいえ | イエス | イエス | イエス | イエス |
API ベースの列の選択と選択解除 | イエス | イエス | イエス | イエス | イエス | イエス |
スキーマの進化の自動化: 新しい列と削除された列 | イエス | イエス | イエス | イエス | イエス | イエス |
スキーマの進化の自動化: データ型の変更 | いいえ | いいえ | いいえ | いいえ | いいえ | いいえ |
スキーマの進化の自動化: 列の名前変更 | はい - 新しい列 (新しい名前) と削除された列 (古い名前) として扱われます。 | はい - 新しい列 (新しい名前) と削除された列 (古い名前) として扱われます。 | はい - 新しい列 (新しい名前) と削除された列 (古い名前) として扱われます。 | いいえ - DDL オブジェクトが有効になっている場合、コネクタは列の名前を変更できます。 DDL オブジェクトが有効になっていない場合、コネクタはこれを新しい列 (新しい名前) と削除された列 (古い名前) として扱います。 どちらの場合も、完全な更新が必要です。 | はい - 新しい列 (新しい名前) と削除された列 (古い名前) として扱われます。 | はい - 新しい列 (新しい名前) と削除された列 (古い名前) として扱われます。 |
スキーマの進化の自動化: 新しいテーブル | はい - スキーマ全体を取り込む場合。 パイプラインあたりのテーブル数に関する制限事項を参照してください。 | はい - スキーマ全体を取り込む場合。 パイプラインあたりのテーブル数に関する制限事項を参照してください。 | なし | はい - スキーマ全体を取り込む場合。 パイプラインあたりのテーブル数に関する制限事項を参照してください。 | はい - スキーマ全体を取り込む場合。 パイプラインあたりのテーブル数に関する制限事項を参照してください。 | はい - スキーマ全体を取り込む場合。 パイプラインあたりのテーブル数に関する制限事項を参照してください。 |
パイプラインあたりのテーブルの最大数 | 250 | 250 | 250 | 250 | 250 | 250 |
認証方法
次の表に、各マネージド インジェスト コネクタでサポートされている認証方法を示します。 Databricks では、可能であれば OAuth U2M または OAuth M2M を使用することをお勧めします。 コネクタが OAuth U2M または OAuth M2M をサポートしている場合、基本認証と手動トークン更新による OAuth は、従来の認証方法と見なされます。
Connector | OAuth U2M | OAuth M2M | OAuth (手動更新トークン) | 基本認証 (ユーザー名/パスワード) | 基本認証 (サービス アカウントの JSON キー) |
---|---|---|---|---|---|
Google Analytics 生データ | イエス | いいえ | いいえ | いいえ | はい (API のみ) |
ServiceNow | イエス | いいえ | はい (API のみ) | いいえ | いいえ |
SharePoint | イエス | いいえ | イエス | いいえ | いいえ |
Salesforce | イエス | いいえ | いいえ | いいえ | いいえ |
SQL Server | イエス | いいえ | いいえ | いいえ | イエス |
Workday レポート | いいえ | いいえ | イエス | イエス | いいえ |
外部サービスへの依存
Databricks SaaS、データベース、およびその他のフル マネージド コネクタは、接続先のアプリケーション、データベース、または外部サービスのアクセシビリティ、互換性、安定性に依存します。 Databricks はこれらの外部サービスを制御しないため、変更、更新、メンテナンスに対する影響は限られています (ある場合)。
外部サービスに関連する変更、中断、または状況によってコネクタの操作が妨げられ、または実用的でない場合、Databricks はそのコネクタの保守を中止または停止する可能性があります。 Databricks は、該当するドキュメントの更新を含め、メンテナンスの中止または停止を顧客に通知するために合理的な努力を行います。