.create-or-alter ingestion mapping コマンド
特定の形式と特定のテーブルまたはデータベースに関連付けることができるインジェスト マッピングを作成または変更します。
インジェスト マッピングが存在しない場合は、コマンドによって作成されます。 インジェスト マッピングが既に存在する場合は、コマンドによって変更されます。
Note
ソース テーブルに存在しないインジェスト マッピングで導入された新しい列は、その列の最初のデータ インジェスト中にテーブルに追加されます。 この動作は、キューに登録された取り込みでのみサポートされ、列の有効なデータ型を指定することに依存します。
アクセス許可
データベース インジェスト マッピングを作成するには、少なくとも Database Ingestor アクセス許可が必要です。テーブル インジェスト マッピングを作成するには、少なくとも Table Ingestor アクセス許可が必要です。
構文
.create-or-alter
table
TableName ingestion
MappingKind mapping
MappingName MappingFormattedAsJson
.create-or-alter
database
DatabaseName ingestion
MappingKind mapping
MappingName MappingFormattedAsJson
構文規則について詳しく知る。
パラメーター
件名 | タイプ | Required | 説明 |
---|---|---|---|
TableName | string |
✔️ | テーブルの名前。 |
DatabaseName | string |
✔️ | データベースの名前。 |
MappingKind | string |
✔️ | マッピングの種類。 有効な値は、CSV 、JSON 、avro 、parquet 、またはorc です。 |
MappingName | string |
✔️ | マッピングの名前。 |
MappingFormattedAsJson | string |
✔️ | JSON 値として書式設定されたインジェスト マッピング定義。 |
Note
- 作成されたマッピング*は、コマンドの一部に完全なマッピングを指定するのではなく、インジェスト* コマンド内のマッピング名で参照*されます。
- テーブル*のスコープ*とデータベース*のスコープ*の両方で同じ名前のマッピングが作成された場合、テーブル*のスコープ*のマッピング*がより優先されます。
- テーブル*にマッピングを取り込み、マッピング*のスキーマが取り込まれたテーブル*のスキーマ*と一致しないことを参照すると、取り込み操作*は失敗します。
例
.create table MyTable ingestion csv mapping "Mapping1"
'['
' { "column" : "rownumber", "DataType":"int", "Properties":{"Ordinal":"0"}},'
' { "column" : "rowguid", "DataType":"string", "Properties":{"Ordinal":"1"}}'
']'
.create-or-alter table MyTable ingestion json mapping "Mapping1"
'['
' { "column" : "rownumber", "datatype" : "int", "Properties":{"Path":"$.rownumber"}},'
' { "column" : "rowguid", "Properties":{"Path":"$.rowguid"}}'
']'
出力
Name | 種類 | マッピング | データベース | テーブル |
---|---|---|---|---|
mapping1 | JSON | [{"Properties":{"Path":"$.rownumber"},"column":"rownumber","datatype":"int"},{"Properties":{"Path":"$.rowguid"},"column":"rowguid","datatype":""}] | MyDatabase | MyTable |
関連するコンテンツ
- CSV、JSON、Avro、Parquet、Orc などのさまざまなインジェスト マッピング形式の詳細については、データ マッピングに関する記事を参照してください。