Zerobus Ingestコネクタの概要
Zerobus Ingest は、Unity Catalog Delta テーブルにデータを直接書き込むプッシュベースの取り込み API です。これは、着信接続を処理するために自動的にスケーリングするサーバーレス コネクタです。 パーティションの構成やブローカーの管理は必要ありません。
Zerobus Ingest では、「スケーリング戦略」として、より多くの接続を開くことになります。これにより、メッセージ バス インフラストラクチャの必要性がなくなり、取り込みワークフローが合理化されます。
Zerobus Ingest SDK と統合できるアプリケーション、またはサポートされているAPIs (gRPC およびREST ) を介して通信できるアプリケーションは、Zerobus Ingest を使用してデータをDeltaテーブルに効率的にプッシュできます。
Zerobus Ingest バッファは、データを Delta テーブルに追加する前に送信します。このバッファリングにより、さまざまなスループットで大量のクライアントをサポートする、効率的で耐久性のある取り込みメカニズムが作成されます。
Delta 形式でデータが生成されると、包括的な Databricks データ インテリジェンス プラットフォームと完全に互換性を持つようになり、ユーザーは使い慣れたツールや機能を活用して、さらなるデータ分析や処理を行うことができます。
コンセプト
データ プロデューサーは、まず Zerobus Ingest API へのストリームを開き、ターゲット Delta テーブルを指定して、そのスキーマに一致するメッセージを構築し、開いたストリーム経由でメッセージをプッシュします。サービスは、データを永続的にし、クライアントのメッセージを確認し、最適化された方法で Delta テーブルにデータを実現します。

ストリーム
ストリームは、クライアントと Zerobus Ingest サーバー間の直接接続です。SDK はストリームを使用して、長時間持続する高スループットの接続を実現します。
- ストリームは、SDK を使用した gRPC API でのみ使用されます。
- ストリームは単一のターゲット テーブルにデータを取り込みます。
- イベント配信の順序はストリームごとに保証されます。
- 追加のストリームを開いて、異なるテーブルにデータを書き込むことができます。
- 追加のストリームを開いてクライアントのスループットを向上させることができます。
- 注意: クライアントがメッセージを異なるストリームにラウンドロビンする場合、順序は保証されなくなります。
サーバ
Zerobus Ingest サービスはテーブルを自動的に作成または操作しません。ユーザーは自分でテーブルを作成する必要があります。テーブルとそのスキーマは、受信データの期待値に関する信頼できるソースです。
Zerobus Ingest サーバーは、クライアントから送信されたデータを受け入れ、それがターゲット テーブル スキーマに適合しているかどうかを検証し、それをテーブルに書き込みます。データがテーブルに収まる場合、耐久性が保たれます。その後、確認応答がクライアントに送り返されます。
サービス責任には以下が含まれます。
- テーブルへのメッセージのスキーマ検証。
- データをタイムリーにターゲット テーブルに実体化します。
- データが永続的であることをクライアントに確認通知します。
クライアント
クライアント統合には以下が含まれます。
- ターゲット テーブルを選択します。
- Zerobus Ingest サービスを使用してストリームを確立します。
- スキーマ互換メッセージを構築します。
- メッセージを送信しています。
- メッセージの確認を管理します。
- クライアント、ストリーム、またはサーバー側の障害(接続の問題、スキーマの不一致など)が発生した場合の回復メカニズムの実装
Zerobus Ingest SDK は、クライアント統合を実現するためのユーザーフレンドリーな方法を提供し、ドキュメントにはさまざまな開発パターンの例が示されています。カスタム統合の場合、SDK は統合構造と回復処理のリファレンスとして機能します。
Zerobus Ingestを使い始める
クライアント側のファイアウォールがある場合は、Zerobus Ingest で使用される IP アドレスを許可リストに追加します。リージョン別に IP アドレスを表示するには、 「Databricks コントロール プレーン アドレス」を参照してください。
- Zerobus Ingest URL を取得します。
- データを取り込むテーブルを作成または識別します。
- サービスプリンシパルを作成し、テーブルに権限を付与します。
- データの送信を開始するクライアントを作成します。
詳細な手順については、 Zerobus Ingest コネクタの使用を参照してください。
耐久性のあるフォールバック場所
Zerobus Ingest がデータを永続化した後、Zerobus Ingest が公開 (ファイルをストレージにプッシュ) する前にターゲット テーブルに重大な変更が加えられた場合、コネクタはテーブルのストレージの場所にある別のフォルダーでデータを使用できるようにします。
データは、テーブル ルート ディレクトリを基準とした次のパスの下に Parquet ファイルとして保存されます。
- _zerobus/テーブル_拒否_parquets/
このディレクトリはテーブルの物理的なルート ストレージの場所の直下に作成され、サービスによって生成されたすべての Parquet ファイルがそこに書き込まれます。
これにより、すべての永続データがテーブルのストレージ境界内に保持され、テーブル自体と同じアクセス制御とライフサイクル ポリシーに従うようになります。
料金
Zerobus Ingest の料金は、「Jobs serverless」 SKUに対して請求されます。 価格はLakeFlow Connect価格ページで確認できます。
使用状況をモニタリングする
Zerobus Ingest コネクタの使用状況をモニタリングするには 2 つの方法があります。
Zerobus Ingest システムテーブル
Zerobus Ingest システムテーブルを介して使用状況を監視できます。
請求システムテーブル
料金利用システムテーブルを通じて支出を監視できます。 Zerobus Ingest の使用状況をフィルターするには:
billing_origin_product = 'LAKEFLOW_CONNECT'product_features.lakeflow_connect.zerobus_request_type = 'GRPC'または'HTTP'