Analytics Consumption Zone (ACZ) は、選択したエンティティ データを Azure Data Manager for Energy から Azure Data Lake Storage Gen2 アカウントにエクスポートします。 ACZ は、Azure Data Manager for Energy データをオープン Delta Parquet 形式で書き込みます。 Microsoft FabricやAzure Databricksなどのサービスでは、この形式を直接読み取ることができます。
Important
分析消費ゾーンは現在プレビュー段階です。 ベータ版、プレビュー版、または一般公開されていないAzure機能に適用される法的条件については、「Microsoft Azure プレビューの補足使用条件」を参照してください。
プレビュー期間中、ACZ は開発者層インスタンスでのみ使用でき、許可リストを使用する必要があります。 分析消費ゾーンの有効化に関するページのガイダンスに従って、Microsoft担当者にお問い合わせください。
ACZ とは
ACZ はマネージド同期レイヤーです。 エンティティ データは、Azure Data Manager for Energy インスタンスから、所有しているAzure Data Lake Storage Gen2 ストレージ アカウントにエクスポートされます。 その後、そのデータを分析、レポート、機械学習ツールに接続できます。
ACZ の主な特性:
- 顧客所有のストレージ: データが格納されるData Lake Storage Gen2ストレージ アカウントを作成および管理します。 データ所在地の要件がある場合は、地域内の宛先ストレージ アカウントを選択する必要があります。
- オープン形式: Delta Parquet 形式でデータをエクスポートします。 分析エンジンでは、この形式が広くサポートされています。
- Selective sync: 同期するエンティティの種類を選択します。オプションには、カタログの種類と Wellbore Domain データ管理 Service (DDMS) の種類が含まれます。
- 履歴同期と増分同期: ACZ から既存のデータの初期スナップショットを取得します。 その後、ACZ は変更が発生したときに同期します。
- API ドリブン: REST API を使用して ACZ を完全に構成および管理します。
アーキテクチャ
次の図は、ACZ データ フローを示しています。
ACZ のしくみ
サポートされているエンティティ型
ACZ は、エネルギー エンティティ型の Azure Data Manager の 2 つのカテゴリを同期します。
| カテゴリ | Description | 種類の例 |
|---|---|---|
| カタログの種類 | ストレージ サービスからのプライマリ データと参照データ |
osdu:wks:master-data--Well:*、osdu:wks:reference-data--UnitOfMeasure:* |
| ウェルボア DDMS の種類 | Wellbore DDMS 内のエンティティ | osdu:wks:work-product-component--WellLog:* |
ACZ インスタンスを作成するときは、次のように指定して、同期するエンティティの種類を指定します。
-
catalogKinds: カタログの種類のパターンの一覧 (たとえば、osdu:wks:master-data--Well:*)。 -
wellboreDDMSKinds: Wellbore DDMS の種類パターンの一覧 (例:osdu:wks:work-product-component--WellLog:*)。
これらのパターン (ルール) は、ACZ がエクスポートし、同期を維持する Azure Data Manager for Energy のレコードを決定するフィルターとして機能します。
allCatalogSync フラグを使用する
allCatalogSync フラグは、ACZ インスタンスの作成時に指定できる省略可能なブール型パラメーターです。
trueに設定すると、データ パーティションからすべてのカタログの種類が同期されます。
主な動作:
-
allCatalogSyncは、要求本文の セクションのconfigurationで指定されます。 -
allCatalogSync: trueすると、ACZ はすべてのカタログの種類を自動的にエクスポートします。 - 構成内の
catalogKinds配列とwellboreDDMSKinds配列は、カタログ データでは無視されます。 - Wellbore DDMS 一括ファイルのダウンロードは、このフラグの 影響を受けません 。 ファイルは、
wellboreDDMSKindsに明示的に一覧表示されている種類の場合にのみダウンロードされます。
構成例:
// Selective catalog sync - only Wells and Fields
{
"allCatalogSync": false,
"configuration": {
"catalogKinds": [
"osdu:wks:master-data--Well:*",
"osdu:wks:master-data--Field:*"
]
}
}
// Sync all catalog kinds using allCatalogSync flag
{
"allCatalogSync": true,
"configuration": {
// catalogKinds is ignored when allCatalogSync is true
}
}
// Sync all catalog kinds, but Wellbore DDMS files only for specified kinds
{
"allCatalogSync": true,
"configuration": {
"wellboreDDMSKinds": [
"osdu:wks:work-product-component--WellLog:*"
]
}
}
バージョンの種類
ACZ インスタンスを作成するときは、エンティティ バージョンの処理方法を選択します。
| タイプ | Description |
|---|---|
| LATEST_VERSION | 各エンティティの最新バージョンのみをエクスポートします。 既定で推奨されます。 |
| ALL_VERSIONS | 各エンティティのすべてのバージョンをエクスポートします。 完全なバージョン履歴を保持します。 |
ライフサイクルの状態
各 ACZ は、次の状態を通過します。
| 地位 | Description |
|---|---|
| アクティブ | 稼働中。 ACZ は変更を増分的に同期します。 |
| 失敗した | エラーがセットアップまたは同期を停止しました。 |
| ACCESS_DENIED | ACZ は、ストレージ アカウントData Lake Storage Gen2宛先に到達できません。 |
履歴スナップショット
新しい ACZ インスタンスを作成すると、サービスは履歴スナップショットを取得します。 このスナップショットは、構成されたエンティティの種類 (catalogKinds と wellboreDDMSKinds) に一致するすべての既存のレコードをエクスポートします。 スナップショットは次の状態で進行します。
| 地位 | Description |
|---|---|
| 処理 | データをアクティブにエクスポートします。 |
| 完了 | エクスポートされたすべての履歴データ。 |
| 失敗した | エラーが発生しました。 |
スナップショットが完了すると、ACZ は増分モードに切り替わります。 新規および更新されたレコードをほぼリアルタイムでキャプチャします。
ACZ によるデータ変更の処理方法
ACZ は、作成、更新、および削除されたレコードを Azure Data Manager for Energy から Delta テーブルに伝達します。
- 作成と更新: レコードを作成したりデータ ブロックを変更したりすると、Azure Data Manager for Energy によって新しいバージョンが作成されます。 ACZ は変更を検出し、Delta テーブルに新しい行を書き込みます。
-
メタデータのみの更新:
PATCH操作が新しいバージョンを作成せずにアクセス制御リスト、法的、またはタグを変更すると、ACZ はこの変更を検出し、既存の行でマージ アップサートを実行します。 -
Soft deletes: Azure Data Manager for Energy でレコードを論理的に削除すると、ACZ は
isActiveフィールドを削除するのではなく、行のFalseに設定します。 論理削除は、監査やタイムトラベルクエリのために履歴を保持します。 - Purges: Azure Data Manager for Energy でレコードを消去すると、ACZ は Delta テーブルからレコードを完全に削除します。 行は削除され、ACZ データから回復することはできません。
Warnung
ACZ は、Azure Data Manager for Energy から Data Lake Storage Gen2 への一方向の読み取り専用同期です。
- データ フローは、Azure Data Manager for Energy から Data Lake Storage Gen2 に対してのみ行われます。
- Data Lake Storage Gen2の ACZ フォルダー内のファイルを直接変更、削除、または追加しないでください。
- ACZ データを手動で変更すると、同期が破損し、データの不整合が発生します。
- ACZ は、すべての Delta Lake 操作 (トランザクション ログ、チェックポイント、圧縮) を管理します。
分析とレポートの場合は、エクスポートされたデータを読み取り専用として扱います。 すべてのデータ変更は、Azure Data Manager for Energy で行う必要があります。
データ出力形式
ACZ は、Parquet でエンコードされたファイル () を使用して DELTA_PARQUET 形式でデータを書き込みます。 Delta Lake では、アトミック性、一貫性、分離、持続性のトランザクションがサポートされます。 また、時間移動と効率的な増分読み取りもサポートされます。
Data Lake Storage Gen2 フォルダー構造
ACZ は、Data Lake Storage Gen2 ストレージ アカウント内のデータをフォルダー別に整理します。 各 ACZ インスタンスは、コンテナーの下、または指定した場合はベース パスの下に独自のフォルダーを取得します。 ACZ パーティションは、Delta Lake テーブルを種類別にカタログ化します。 DDMS エンティティの種類とレコード ID ごとに 1 つのフォルダー。
フォルダー レイアウト
重要な詳細
| 要素 | Description |
|---|---|
| 最上位フォルダー | コンテナーの下に <acz-id> という名前で、または指定されている場合は <base-path> という名前で命名されます。 ACZ インスタンスごとに 1 つのフォルダー。 |
osducatalog/ |
すべてのカタログの種類に対して 1 つのデルタ テーブル。 種類 (たとえば、 kind=osdu:wks:master-data--Well:1.0.0) でパーティション分割されます。 |
_delta_log/ |
Delta Lake トランザクション ログ。 ACID トランザクションとタイム トラベルのすべてのテーブル変更を追跡します。 |
| DDMS エンティティ フォルダー | DDMS エンティティ型ごとに 1 つのフォルダー (たとえば、 work-product-component--WellLog)。 DDMS 固有の Parquet ファイルをエンティティの種類とレコード ID で保持します。 |
| Parquet ファイル | Snappy圧縮データファイル。 更新によって新しいファイルが作成されます。 ACZは、小さなファイルを圧縮し、古いものを削除するために VACUUM と OPTIMIZE を実行します。 |
Delta テーブル スキーマ
Delta テーブルには、次のフィールドがあります。
| フィールド | タイプ | Description |
|---|---|---|
id |
String | OSDU® レコード ID。 |
version |
String | バージョン番号。 |
kind |
String | 完全修飾 OSDU® の種類。 |
data |
String | データ ブロック (JSON)。 |
meta |
String | メタデータ (JSON)。 |
acl |
String | アクセス制御リスト。 |
legal |
String | 許可されたタグ。 |
tags |
String | ユーザー定義タグ。 |
createUser |
String | レコードを作成したユーザー。 |
createTime |
タイムスタンプ | レコードが作成されたとき。 |
ingestTime |
タイムスタンプ | ACZ がレコードを取り込んだタイミング。 |
isActive |
ブール値 |
True アクティブな場合は 。
False ソフト削除されている場合。 |
Note
Wellbore DDMS エンティティには、ファイル追跡用の fileDownloadTime、 fileDownloadState、および fileDownloadFolder フィールドもあります。
制限とアクセス
プレビューの制限
| 制約 | 制限 |
|---|---|
| データ パーティションあたりの最大 ACZ インスタンス数 | 3 |
| ACZ 名の一意性 | データ パーティション内で一意である必要があります |
| 対象形式 | Delta Parquet のみ |
| ストレージの種類 | Data Lake Storage Gen2のみ |
| インスタンス層のサポート | 開発者層はプレビュー期間中のみ |
認証と承認
ACZ には次のものが必要です。
-
API アクセス: ACZ API を呼び出すには、
users@{data-partition-id}.dataservices.energyグループとusers.datalake.ops@{data-partition-id}.dataservices.energyグループに属している必要があります。 - ストレージ アクセス: マネージド ID には、Data Lake Storage Gen2 コンテナーに対するストレージ BLOB データ共同作成者ロール (またはそれと同等のもの) が必要です。 プレビュー中は、ID の詳細をMicrosoftと共有して、ID を許可リストに追加します。
- Azure エネルギー アクセス用データ マネージャー: マネージド ID を Azure Data Manager for Energy リソースに割り当てる必要があります。
関連するコンテンツ
- Analytics Consumption Zone を有効にする
- チュートリアル: ACZ API を使用する
- ACZ データを Fabric に接続する
ACZ データを Azure Databricks