Zerobus Ingest システムテーブルリファレンス
この記事は、ワークスペースでの Zerobus Ingest アクティビティを追跡するzerobusシステムテーブルのリファレンスです。 これらのテーブルには、同じリージョン内のすべてのワークスペースのアカウント レコードが含まれます。別のリージョンのレコードを表示するには、そのリージョンにデプロイされたワークスペースからテーブルを表示する必要があります。
要件
- これらのシステムテーブルにアクセスするには、ユーザーは次のいずれかを行う必要があります。
- メタストア管理者とワークスペース管理者の両方になる、または
- システム スキーマに対する
USEおよびSELECT権限を持ちます。「システムテーブルへのアクセスの許可」を参照してください。
利用可能なZerobus Ingestテーブル
すべての Zerobus Ingest 関連のシステムテーブルは、 system.lakeflowスキーマ内に存在します。 これには次のテーブルが含まれます。
テーブル | 説明 | ストリーミングをサポート | 無料保存期間 | 世界または地域のデータを含む |
|---|---|---|---|---|
Zerobus_stream (ベータ版) | Zerobus Ingestを使用して作成されたすべてのストリームを追跡します | はい | 365日 | リージョン |
Zerobus_ingest (ベータ版) | Zerobus Ingestを使用してDeltaテーブルに取り込まれたすべてのデータを追跡します | はい | 365日 | リージョン |
Zerobus ストリーム テーブル スキーマ リファレンス
zerobus_streamテーブルには、Zerobus Ingest の使用によって発生したストリーム イベントに関連するすべてのデータが格納されます。これには、ストリームが作成されたとき、ストリームの有効期間中にエラーが発生したとき、およびストリームが閉じられたときに発生するイベントが含まれます。
テーブルパス : system.lakeflow.zerobus_stream
列名 | データ型 | 説明 | 例 |
|---|---|---|---|
| string | ストリームを担当するアカウントのID |
|
| string | ストリームを担当するワークスペースのID |
|
| string | ストリームのID |
|
| timestamp | イベントが発生したときのタイムスタンプ |
|
| string | ストリーム作成を担当するプロデューサーのID | この列は現在サポートされていません。 |
| timestamp | ストリームが開かれたときのタイムスタンプ |
|
| timestamp | ストリームが閉じられたときのタイムスタンプ |
|
| string | 取り込まれるテーブルのID |
|
| string | 取り込まれるテーブルの完全修飾名 |
|
| string | データの取り込みに使用されるプロトコル。可能な値は |
|
| string | ストリームで使用されるデータの形式。可能な値は |
|
| array | ストリームの存続期間中に発生したエラーの配列 | エラーリファレンスを参照してください |
ストリームテーブルの例クエリ
次のクエリは、指定されたテーブルで現在開かれているストリームの数を返します。
SELECT COUNT(stream.stream_id)
FROM system.lakeflow.zerobus_stream AS stream
WHERE stream.table_id=:table_id AND stream.closed_time IS NULL AND stream.opened_time > CURRENT_TIMESTAMP - INTERVAL '15 minutes'
次のクエリは、エラーが発生したすべてのストリームの ID を返します。
SELECT DISTINCT(stream.stream_id)
FROM system.lakeflow.zerobus_stream AS stream
WHERE size(stream.errors) > 0
Zerobus 取り込みテーブル スキーマ リファレンス
zerobus_ingestテーブルには、Zerobus Ingest を使用して取り込まれたレコードに関連するすべてのデータが格納されます。このデータはレコードレベルの詳細ではありません。データは Delta テーブルに書き込まれたバッチごとに集計され、 commit_versionを使用して識別されます。
テーブルパス : system.lakeflow.zerobus_ingest
列名 | データ型 | 説明 | 例 |
|---|---|---|---|
| string | 指定されたワークスペースを所有するアカウントのID |
|
| string | ストリームが作成されるワークスペースの ID |
|
| string | 取り込みを実行したストリームのID |
|
| bigint | Deltaへのコミットの一意のバージョン番号 |
|
| string | 書き込まれるテーブルのID |
|
| string | 人間が読める形式での完全修飾テーブル名 |
|
| timestamp | コミットのタイムスタンプ |
|
| bigint | 取り込んだデータのサイズ(バイト単位) | 3532498 |
| bigint | コミットされたレコードの数 | 3445 |
| array | Zerobus Ingest が提供する、使用元やその他のメタデータを追跡するために使用できるカスタム タグ |
|
| array | 取り込み中に発生したエラーの配列 | エラーリファレンスを参照してください |
取り込みテーブルのクエリ例
次のクエリは、指定された時間範囲内での各テーブルの平均挿入率を取得します。
SELECT ingest.table_id AS table_id, SUM(ingest.committed_bytes) / (SECONDS(:end_timestamp - :start_timestamp)) AS average_insertion_rate
FROM system.lakeflow.zerobus_ingest AS ingest
WHERE ingest.commit_time >= :start_timestamp AND ingest.commit_time <= :end_timestamp
GROUP BY ingest.table_id
次のクエリは、指定された時間範囲内にテーブルに取り込まれたデータとレコードの合計量を取得します。
SELECT SUM(ingest.committed_bytes) as 'Total data', SUM(ingest.committed_records) as 'Total records'
FROM system.lakeflow.zerobus_ingest AS ingest
WHERE ingest.commit_time >= :start_timestamp AND ingest.commit_time <= :end_timestamp AND ingest.table_name = :table_name
エラー参照
ストリーム テーブルとインジェスト テーブルの両方にerrors列が含まれており、この列にはストリームまたはインジェスト中に発生したエラーの配列が含まれており、各要素は個別のエラーを表します。これらの配列要素は、次のフィールドを持つオブジェクトとして記録されます。
フィールド名 | データ型 | 説明 |
|---|---|---|
| bigint | エラーコード |
| string | 完全なエラーメッセージ |
| timestamp | エラーが発生したときのタイムスタンプ |
一般的な結合パターン
次のクエリは、ストリーム テーブルと取り込みテーブルを結合して、単一のワークスペースから書き込まれたすべてのテーブルを返す方法を示しています。
SELECT DISTINCT(stream.table_id)
FROM system.lakeflow.zerobus_stream AS stream INNER JOIN system.lakeflow.zerobus_ingest AS ingest ON (stream_id)
WHERE stream.workspace_id=:workspace_id