.create ingestion mapping コマンド
特定の形式と特定のテーブル*やデータベース*に関連付けられる、インジェスト* マッピング*を作成します。
指定されたスコープ内に同じ名前のマッピングが既に存在する場合、 .create
は失敗します。 代わりに .create-or-alter
を使用してください
アクセス許可
データベース インジェスト マッピングを作成するには、少なくとも Database Ingestor アクセス許可が必要です。テーブル インジェスト マッピングを作成するには、少なくとも Table Ingestor アクセス許可が必要です。
構文
.create
table
TableName ingestion
MappingKind mapping
MappingName MappingFormattedAsJson
.create
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
- 作成されたマッピング*は、コマンドの一部に完全なマッピングを指定するのではなく、インジェスト* コマンド内のマッピング名で参照*されます。
- テーブル スコープとデータベース スコープの両方に同じ名前のマッピングが作成された場合、テーブル スコープ内のマッピングの優先度が高くなります。
- テーブル*にマッピングを取り込み、マッピング*のスキーマが取り込まれたテーブル*のスキーマ*と一致しないことを参照すると、取り込み操作*は失敗します。
例
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 マッピングに関するページを参照してください。