特定の形式と特定のテーブル*やデータベース*に関連付けられる、インジェスト* マッピング*を作成します。
指定されたスコープ内に同じ名前のマッピングが既に存在する場合、 .create は失敗します。 代わりに .create-or-alter を使用してください
アクセス許可
データベース インジェスト マッピングを作成するには、少なくとも Database Ingestor アクセス許可が必要です。テーブル インジェスト マッピングを作成するには、少なくとも Table Ingestor アクセス許可が必要です。
構文
.createtable TableName ingestion MappingKind mapping MappingName MappingFormattedAsJson
.createdatabase DatabaseName ingestion MappingKind mapping MappingName MappingFormattedAsJson
構文規則について詳しく知る。
パラメーター
| 件名 | タイプ | Required | 説明 |
|---|---|---|---|
| TableName | string |
✔️ | テーブルの名前。 |
| DatabaseName | string |
✔️ | データベースの名前。 |
| MappingKind | string |
✔️ | マッピングの種類。 有効な値は、csv、json、avro、parquet、またはorc です。 |
| MappingName | string |
✔️ | マッピングの名前。 |
| MappingFormattedAsJson | string |
✔️ | JSON 値として書式設定されたインジェスト マッピング定義。 |
Note
- 作成されたマッピング*は、コマンドの一部に完全なマッピングを指定するのではなく、インジェスト* コマンド内のマッピング名で参照*されます。
- テーブル スコープとデータベース スコープの両方に同じ名前のマッピングが作成された場合、テーブル スコープ内のマッピングの優先度が高くなります。
- テーブル*にマッピングを取り込み、マッピング*のスキーマが取り込まれたテーブル*のスキーマ*と一致しないことを参照すると、取り込み操作*は失敗します。
例
CSV インジェスト マッピングを使用してテーブルとデータベースを作成する
次の例では、CSV インジェスト マッピング Mapping1とデータベースをMyTableテーブルを作成し、CSV インジェスト マッピング Mapping2を使用してMyDatabaseします。
.create table MyTable ingestion csv mapping "Mapping1"
'['
' { "column" : "rownumber", "DataType":"int", "Properties":{"Ordinal":"0"}},'
' { "column" : "rowguid", "DataType":"string", "Properties":{"Ordinal":"1"}}'
']'
.create database MyDatabase ingestion csv mapping "Mapping2"
'['
' { "column" : "rownumber", "DataType":"int", "Properties":{"Ordinal":"0"}},'
' { "column" : "rowguid", "DataType":"string", "Properties":{"Ordinal":"1"}}'
']'
出力
| Name | 種類 | マッピング | データベース | テーブル |
|---|---|---|---|---|
| mapping1 | CSV | [{"Name":"rownumber","DataType":"int","CsvDataType":null,"Ordinal":0,"ConstValue":null},{"Name":"rowguid","DataType":"string","CsvDataType":null,"Ordinal":1,"ConstValue":null}] |
MyDatabase | MyTable |
| mapping2 | CSV | [{"Name":"rownumber","DataType":"int","CsvDataType":null,"Ordinal":0,"ConstValue":null},{"Name":"rowguid","DataType":"string","CsvDataType":null,"Ordinal":1,"ConstValue":null}] |
MyDatabase |
エスケープ文字を使用してインジェスト マッピングを作成する
次の例では、JSON インジェスト マッピング test_mapping_nameを使用してtest_tableテーブルを作成します。 エラーを回避するために、バックスラッシュを使用して JSON パス文字列内の単一引用符をエスケープします。
.create table test_table ingestion json mapping "test_mapping_name"
'['
'{"column":"timeStamp","path":"$[\'timeStamp\']","datatype":"","transform":null},{"column":"name","path":"$[\'name\']","datatype":"","transform":null},{"column":"x-opt-partition-key","path":"$[\'x-opt-partition-key\']","datatype":"","transform":null}'
']'
関連するコンテンツ
- CSV、JSON、Avro、Parquet、Orc など、さまざまなインジェスト マッピング形式の詳細については、「 Data マッピングを参照してください。
- インジェスト ソースとしての JSON マッピングの詳細については、 JSON マッピングに関するページを参照してください。