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

Zerobus Ingest コネクタのクォータ

このページでは、 Lakeflow Connectにおける Zerobus Ingest コネクタの defaultクォータと、 Delta テーブル、スキーマ、データ型との連携方法について説明します。

可用性

Zerobus Ingest コネクタは、一部のリージョンでのみ利用可能です。サポートされているリージョンの一覧については、「Ingestion availability」を参照してください。

レイテンシー

レイテンシは、耐久性の確認と、ターゲットのDeltaテーブルにレコードをマテリアライズするまでの時間の両方を反映します。実際の時間は、リージョンの整合性やワークロードの特性によって異なります。

  • 耐久性までの時間

    • P50 ≤ 150 ms
  • テーブルまでの時間

    • P50≦5秒

クォータ

次の表に、Zerobus Ingest コネクタのdefaultのクォータを示します。

項目

defaultのクォータ

さらに情報が必要ですか?

ストリームあたりのthroughput(gRPC) [[ ## completed ##]]

100 MB/秒(1 KBのメッセージでベンチマーク済み)

調整可能

ターゲットテーブルあたりのthroughput (gRPC)

10 GB/秒

調整可能

ストリームあたりの毎秒レコード数

100,000(1 KB のメッセージでベンチマーク済み)

調整可能

1秒あたりの REST リクエスト数

10,000

調整可能

項目

defaultのクォータ

さらに情報が必要ですか?

ストリームあたりのthroughput(gRPC) [[ ## completed ##]]

100 MB/秒(1 KBのメッセージでベンチマーク済み)

調整可能

ターゲットテーブルあたりのthroughput (gRPC)

10 GB/秒

調整可能

ストリームあたりの毎秒レコード数

100,000(1 KB のメッセージでベンチマーク済み)

調整可能

1秒あたりの REST リクエスト数

10,000

調整可能

これらはコネクタがプロビジョニングされる default の throughput であり、より高いワークロードに対応するようにスケーリングされます。これらについて提起する場合は、Databricksアカウント担当者にお問い合わせください。最大のthroughputを得るには、クライアントアプリとEndpointを同じ地理的リージョンに配置してください。

配信保証

Zerobus Ingest コネクタは、少なくとも 1 回の配信保証を提供します。

バッファリングされたデータの保持

Zerobus Ingest サービスがバッファリングされたデータを Delta テーブルにフラッシュできない場合、そのデータはサービス管理の永続ストレージに保持され、ストリームごとに警告イベントが随時出力されます。

データが28日間フラッシュされないままの場合、サービスはバッファリングされたデータを削除し、破棄されたレコード数とバイト数を記録するストリームごとの破棄イベントを発行します。削除後のデータを復元することはできません。

テーブルの動作

Zerobus Ingest が Delta テーブルとどのように連携するか。

パーティション分割されたテーブル

パーティション分割されたテーブルに書き込む際、Zerobus Ingestは5秒間隔で100を超えるパーティションへの書き込みをサポートしていません。最適なthroughputを得るには、5秒間隔ごとのパーティション数を最小限に抑えてください。

Databricks は、パーティション分割の代わりに Zerobus Ingest で リキッドクラスタリング テーブルを使用することをお勧めします。

ワークスペースとターゲットテーブル

取り込みは、以下のワークスペースおよびターゲットテーブルの設定で動作します。

  • このコネクタは、管理されたDeltaテーブルへの書き込みをサポートしています。
  • このコネクタは、ターゲットテーブルの再作成をサポートしていません。
  • このコネクタがサポートするテーブル名は、ASCII文字、数字、アンダースコアのみです。
  • ワークスペースとターゲットテーブルの両方が、利用可能なリージョンのいずれかにある必要があります。

リキッドクラスタリングテーブル

Zerobus Ingest コネクタを リキッドクラスタリング テーブルで使用する場合は、ターゲットテーブルに対して 予測的最適化 を有効にしておくことをお勧めします。コネクタはテーブルにデータを書き込みますが、最適なデータクラスタリングは予測的最適化サービスによって非同期に適用されます。予測的最適化を無効にすると、取り込まれたデータのクエリーパフォーマンスが最適化されない可能性があります。

スキーマとデータ型

以下のセクションでは、スキーマの定義方法と、Zerobus Ingestがサポートするデータ型について説明します。

スキーマ進化

Zerobus Ingestは、ターゲットテーブルを 自動的に進化させることはありません

Zerobus Ingest は、NULL 値を許容する Delta 列がターゲットテーブルに追加された際の継続的なインジェストをサポートします。欠落している列は NULL 値で埋められるため、フィールドが欠落しているレコードを送信できます。

Protobufスキーマ

protobufスキーマ定義は、Deltaテーブルスキーマと1:1で一致する必要があります(追加のNULL許容Deltaカラムは除きます。これらは破壊的変更とはみなされません)。スキーマが一致しない場合、APIはエラーを返します。これには、以下が含まれます。

  • 列数が異なる

  • 異なる列名

  • 列のオプション設定の違い (NULL可およびNULL不可)

  • このコネクタは、2000 列を超える proto スキーマをサポートしていません。

  • このコネクタがサポートするテーブル名とカラム名は、ASCII文字、数字、アンダースコアのみです。

  • このコネクタは、「ストリーム作成」および「レコード取り込み」操作で異なる proto スキーマを使用することをサポートしていません。

レコードサイズ

各メッセージの最大サイズは 10 MB です。レコードの最大サイズは 10,485,760 バイトです。通信に必要なヘッダーは 19 バイトを占有します。

型のサポート

次の表は、取り込み用にサポートされている Delta 型と、それに対応する Protobuf 型を示しています。

Delta型

Protobuf 型

INTEGER

int32

STRING

string

FLOAT

float

LONG

int64

SHORT

int32

DOUBLE

double

DECIMAL(p, s)

Decimal テキスト (例:)"123.45"、"1e2" など。

string

BOOLEAN

bool

BINARY

bytes

BYTE (TINYINT)

int32

DATE

int32 (エポックからの日数) に変換する必要があります。

int32

TIMESTAMP

int64 (エポック時間、マイクロ秒単位) に変換する必要があります。

int64

TIMESTAMPNTZ

int64 (エポック時間、マイクロ秒単位) に変換する必要があります。

int64

ARRAY<TYPE>

repeated TYPE

MAP<K,V>

map<K,V>

map Protobuf のシンタックスシュガーは、Protobuf コンパイラーのバージョン 3 以降でのみ利用可能です。

STRUCT<FIELDS>

message Nested { FIELDS }

VARIANT

バリアントは、 STRING 型のキーを持つJSONエンコードされた文字列として取り込む必要があります。コネクタは、データをシュレッドされていない状態で列に書き込みます。

サポートされている形式は以下の通りです。

  • オブジェクト: "{\"id\":0,\"example\":\"this is variant example\"}"
  • プリミティブ: "5""3.14""\"string\""
  • 配列: "[1,2,3]"

string

Delta型

Protobuf 型

INTEGER

int32

STRING

string

FLOAT

float

LONG

int64

SHORT

int32

DOUBLE

double

DECIMAL(p, s)

Decimal テキスト (例:)"123.45"、"1e2" など。

string

BOOLEAN

bool

BINARY

bytes

BYTE (TINYINT)

int32

DATE

int32 (エポックからの日数) に変換する必要があります。

int32

TIMESTAMP

int64 (エポック時間、マイクロ秒単位) に変換する必要があります。

int64

TIMESTAMPNTZ

int64 (エポック時間、マイクロ秒単位) に変換する必要があります。

int64

ARRAY<TYPE>

repeated TYPE

MAP<K,V>

map<K,V>

map Protobuf のシンタックスシュガーは、Protobuf コンパイラーのバージョン 3 以降でのみ利用可能です。

STRUCT<FIELDS>

message Nested { FIELDS }

VARIANT

バリアントは、 STRING 型のキーを持つJSONエンコードされた文字列として取り込む必要があります。コネクタは、データをシュレッドされていない状態で列に書き込みます。

サポートされている形式は以下の通りです。

  • オブジェクト: "{\"id\":0,\"example\":\"this is variant example\"}"
  • プリミティブ: "5""3.14""\"string\""
  • 配列: "[1,2,3]"

string