リソース セット パターン ルールを作成する
大規模なデータ処理システムは、通常、1 つのテーブルを複数のファイルとしてストレージに格納します。 この概念は、リソース セットを使用して Microsoft Purview で表されます。 リソース セットは、ストレージ内の多数の資産を表すデータ カタログ内の 1 つのオブジェクトです。 詳細については、「 リソース セットについて」を参照してください。
ストレージ アカウントをスキャンする場合、Microsoft Purview は一連の定義済みパターンを使用して、資産のグループがリソース セットであるかどうかを判断します。 場合によっては、Microsoft Purview のリソース セットグループがデータ資産を正確に反映していない場合があります。 リソース セット パターン ルールを使用すると、Microsoft Purview がリソース セットとしてグループ化される資産と、それらがカタログ内でどのように表示されるかを検出する方法をカスタマイズまたはオーバーライドできます。
パターン ルールは現在、次のソースの種類でサポートされています。
- Azure Data Lake Storage Gen2
- Azure Blob Storage
- Azure Files
- Amazon S3
リソース セット パターン ルールを作成するには、Advanced リソース セット機能セットを有効にする必要があります。 詳細については、「 高度なリソース セットについて」を参照してください。
リソース セット パターン ルールを作成する方法
次の手順に従って、新しいリソース セット パターン ルールを作成します。
データ マップに移動します。 [ソース管理] 見出しの下のメニューから [ パターン ルール ] を選択します。 [ + 新規] を選択して、新しいルール セットを作成します。
リソース セット パターン ルールのスコープを入力します。 ストレージ アカウントの種類と、ルール セットを作成するストレージ アカウントの名前を選択します。 ルールの各セットは、[フォルダー パス] フィールドで指定されたフォルダー パス スコープに対して相対的に適用されます。
構成スコープのルールを入力するには、[ + 新しいルール] を選択します。
ルールを作成するには、次のフィールドに「」と入力します。
ルール名: 構成規則の名前。 このフィールドは、ルールが適用される資産には影響しません。
修飾名: テキスト、動的置換子、および静的置換子の組み合わせを使用して資産を構成規則に一致させる修飾パス。 このパスは、構成規則のスコープを基準にしています。 修飾名を指定する方法の詳細については、以下の 構文 セクションを参照してください。
表示名: 資産の表示名。 このフィールドはオプションです。 プレーン テキストと静的置換子を使用して、カタログにアセットを表示する方法をカスタマイズします。 詳細な手順については、以下の 構文 セクションを参照してください。
リソース セットとしてグループ化しないでください。 有効にすると、一致したリソースはリソース セットにグループ化されません。
[ 追加] を選択してルールを保存します。
注:
パターン ルールが作成されると、インジェスト中にすべての新しいスキャンによってルールが適用されます。 データ カタログ内の既存の資産は、バックグラウンド プロセスを介して更新されます。これは、数時間かかる場合があります。
パターン ルールの構文
リソース セット パターン ルールを作成するときは、次の構文を使用して、適用する資産ルールを指定します。
動的置換子 (1 つの角かっこ)
1 つの角かっこは、パターン ルールの 動的置換子 として使用されます。 形式 {<replacerName:<replacerType>}
を使用して、修飾名に動的置換子を指定します。 一致した場合、動的置換子は、資産をリソース セットとして表す必要があることを示すグループ化条件として使用されます。 資産がリソース セットにグループ化されている場合、リソース セットの修飾パスには、置き換え子が指定された場所が含まれます {replacerName}
。
たとえば、2 つの資産folder1/file-1.csv
がルール{folder:string}/file-{NUM:int}.csv
とfolder2/file-2.csv
一致した場合、リソース セットは 1 つのエンティティ {folder}/file-{NUM}.csv
になります。
特殊なケース: リソース セットにグループ化しない場合の動的置換子
パターン ルールに対して [リソース セットとしてグループ化しない ] が有効になっている場合、置き換え子の名前は省略可能なフィールドです。
{:<replacerType>}
は有効な構文です。 たとえば、 file-{:int}.csv
リソース セットの代わりに が正常に一致 file-1.csv
し file-2.csv
、2 つの異なる資産が作成されます。
静的置換子 (二重角かっこ)
二重角かっこは、パターン規則の修飾名の 静的置換子 として使用されます。 形式 {{<replacerName>:<replacerType>}}
を使用して、修飾名に静的置換子を指定します。 一致する場合、一意の静的置換子値のセットごとに、異なるリソース セットグループが作成されます。
たとえば、2 つの資産folder1/file-1.csv
がルール{{folder:string}}/file-{NUM:int}.csv
とfolder2/file-2.csv
一致した場合、2 つのリソース セットが作成され、 と folder2/file-{NUM}.csv
が作成folder1/file-{NUM}.csv
されます。
静的置換子を使用して、パターン ルールに一致する資産の表示名を指定できます。 ルールの表示名で を使用 {{<replacerName>}}
すると、資産名に一致した値が使用されます。
使用可能な置換の種類
静的および動的置換子で使用できる型を次に示します。
型 | 構造 |
---|---|
string | スペースなどの区切り記号を含む一連の 1 つ以上の Unicode 文字。 |
int | 1 つ以上の 0 から 9 の ASCII 文字の系列で、0 個のプレフィックスを付けることができます (例: 0001)。 |
guid | RFC 4122 で定義されている UUID の一連の 32 または 8-4-4-4-12 文字列表現。 |
date | RFC 3339 で指定された 6 文字または 8 文字の ASCII 文字 (必要に応じて ymmdd、yyyy-mm-dd、yymmdd、yy-mm-dd) を使用します。 |
time | RFC 3339 で指定されている HHmm、HH:mm、HHmmss、HH:mm:ss の区切り文字を含む、4 または 6 の 0 から 9 の一連の ASCII 文字。 |
timestamp | RFC 3339 で指定された 12 文字または 14 文字の ASCII 文字 (必要に応じて y-mm-ddTHH:mm、yyyymmddhhmm、yyyy-mm-ddTHH:mm:ss、yyyymmdHHmmss)。 |
ブール値 | 大文字と小文字を区別しない 'true' または 'false' を含めることができます。 |
番号 | 一連の 0 個以上の 0 から 9 の ASCII 文字で、0 個のプレフィックス (例: 0001) に続けて、必要に応じてドット '.' と 1 つ以上の 0 から 9 の ASCII 文字の系列を指定できます。0 の後置 (例: .100) |
16 進 | セット 0 から 1 および A から F の 1 つ以上の ASCII 文字の系列で、値のプレフィックスは 0 にすることができます |
ロケール | RFC 5646 で指定された構文に一致する文字列。 |
適用されるリソース セット パターン ルールの順序
パターン ルールを適用するための操作の順序を次に示します。
資産が 2 つのルールに一致する場合、より具体的なスコープが優先されます。 たとえば、スコープ内のルールは、スコープ
container/folder
内のルールの前にcontainer
適用されます。特定のスコープ内のルールの順序。 これは UX で編集できます。
資産が指定したルールと一致しない場合は、既定のリソース セットヒューリスティックが適用されます。
例
例 1
完全読み込みと差分読み込みへの SAP データ抽出
入力
ファイル:
https://myazureblob.blob.core.windows.net/bar/customer/full/2020/01/13/saptable_customer_20200101_20200102_01.txt
https://myazureblob.blob.core.windows.net/bar/customer/full/2020/01/13/saptable_customer_20200101_20200102_02.txt
https://myazureblob.blob.core.windows.net/bar/customer/delta/2020/01/15/saptable_customer_20200101_20200102_01.txt
https://myazureblob.blob.core.windows.net/bar/customer/full/2020/01/17/saptable_customer_20200101_20200102_01.txt
https://myazureblob.blob.core.windows.net/bar/customer/full/2020/01/17/saptable_customer_20200101_20200102_02.txt
パターン ルール
スコープ:https://myazureblob.blob.core.windows.net/bar/
表示名: '外部顧客'
修飾名:customer/{extract:string}/{year:int}/{month:int}/{day:int}/saptable_customer_{date_from:date}_{date_to:time}_{sequence:int}.txt
リソース セット: true
出力
1 つのリソース セット資産
表示名: 外部顧客
修飾名:https://myazureblob.blob.core.windows.net/bar/customer/{extract}/{year}/{month}/{day}/saptable_customer_{date_from}_{date_to}_{sequence}.txt
例 2
avro 形式の IoT データ
入力
ファイル:
https://myazureblob.blob.core.windows.net/bar/raw/machinename-89/01-01-2020/22:33:22-001.avro
https://myazureblob.blob.core.windows.net/bar/raw/machinename-89/01-01-2020/22:33:22-002.avro
https://myazureblob.blob.core.windows.net/bar/raw/machinename-89/02-01-2020/22:33:22-001.avro
https://myazureblob.blob.core.windows.net/bar/raw/machinename-90/01-01-2020/22:33:22-001.avro
パターン ルール
スコープ:https://myazureblob.blob.core.windows.net/bar/
規則 1
表示名: 'machine-89'
修飾名:raw/machinename-89/{date:date}/{time:time}-{id:int}.avro
リソース セット: true
規則 2
表示名: 'machine-90'
修飾名:raw/machinename-90/{date:date}/{time:time}-{id:int}.avro
リソース セット: true
出力
2 つのリソース セット
リソース セット 1
表示名: machine-89
修飾名:https://myazureblob.blob.core.windows.net/bar/raw/machinename-89/{date}/{time}-{id}.avro
リソース セット 2
表示名: machine-90
修飾名:https://myazureblob.blob.core.windows.net/bar/raw/machinename-90/{date}/{time}-{id}.avro
例 3
avro 形式の IoT データ
入力
ファイル:
https://myazureblob.blob.core.windows.net/bar/raw/machinename-89/01-01-2020/22:33:22-001.avro
https://myazureblob.blob.core.windows.net/bar/raw/machinename-89/01-01-2020/22:33:22-002.avro
https://myazureblob.blob.core.windows.netbar/raw/machinename-89/02-01-2020/22:33:22-001.avro
https://myazureblob.blob.core.windows.net/bar/raw/machinename-90/01-01-2020/22:33:22-001.avro
パターン ルール
スコープ:https://myazureblob.blob.core.windows.net/bar/
表示名: 'Machine-{{machineid}}'
修飾名:raw/machinename-{{machineid:int}}/{date:date}/{time:time}-{id:int}.avro
リソース セット: true
出力
リソース セット 1
表示名: machine-89
修飾名:https://myazureblob.blob.core.windows.net/bar/raw/machinename-89/{date}/{time}-{id}.avro
リソース セット 2
表示名: machine-90
修飾名:https://myazureblob.blob.core.windows.net/bar/raw/machinename-90/{date}/{time}-{id}.avro
例 4
リソース セットにグループ化しない
入力
ファイル:
https://myazureblob.blob.core.windows.net/bar/raw/machinename-89/01-01-2020/22:33:22-001.avro
https://myazureblob.blob.core.windows.net/bar/raw/machinename-89/01-01-2020/22:33:22-002.avro
https://myazureblob.blob.core.windows.net/bar/raw/machinename-89/02-01-2020/22:33:22-001.avro
https://myazureblob.blob.core.windows.net/bar/raw/machinename-90/01-01-2020/22:33:22-001.avro
パターン ルール
スコープ:https://myazureblob.blob.core.windows.net/bar/
表示名:Machine-{{machineid}}
修飾名:raw/machinename-{{machineid:int}}/{{:date}}/{{:time}}-{{:int}}.avro
リソース セット: false
出力
4 つの個別資産
資産 1
表示名: machine-89
修飾名:https://myazureblob.blob.core.windows.net/bar/raw/machinename-89/01-01-2020/22:33:22-001.avro
資産 2
表示名: machine-89
修飾名:https://myazureblob.blob.core.windows.net/bar/raw/machinename-89/01-01-2020/22:33:22-002.avro
資産 3
表示名: machine-89
修飾名:https://myazureblob.blob.core.windows.net/bar/raw/machinename-89/02-01-2020/22:33:22-001.avro
資産 4
表示名: machine-90
修飾名:https://myazureblob.blob.core.windows.net/bar/raw/machinename-90/01-01-2020/22:33:22-001.avro