Condividi tramite


Comando di mapping per l'inserimento .create

Crea un mapping di inserimento che può essere associato a un formato specifico e a una tabella o a un database specifico.

Se esiste già un mapping con lo stesso nome nell'ambito specificato, .create avrà esito negativo. Utilizzare invece .create-or-alter.

Autorizzazioni

Per creare un mapping di inserimento di database sono necessarie almeno le autorizzazioni di Ingestor del database e per creare un mapping di inserimento tabelle sono necessarie almeno le autorizzazioni Ingestor per creare un mapping di inserimento di tabelle.

Sintassi

.createtable Mapping Mapping Di TableName ingestion MappingName mapping MappingFormattedAsJson

.createdatabase Mapping Mapping Di DatabaseName ingestion MappingName mapping MappingFormattedAsJson

Altre informazioni sulle convenzioni di sintassi.

Parametri

Nome Digita Obbligatorio Descrizione
TableName string ✔️ Nome della tabella.
DatabaseName string ✔️ Nome del database.
MappingKind string ✔️ Tipo di mapping. I valori validi sono csv, json, avro, parquet, e orc.
MappingName string ✔️ Nome del mapping.
MappingFormattedAsJson string ✔️ Definizione del mapping di inserimento formattata come valore JSON.

Nota

  • Dopo la creazione, è possibile fare riferimento al mapping in base al nome nei comandi di inserimento, anziché specificare il mapping completo come parte del comando.
  • Se viene creato un mapping con lo stesso nome sia nell'ambito della tabella che nell'ambito del database, il mapping nell'ambito della tabella avrà una priorità più alta.
  • Quando si inserisce in una tabella e si fa riferimento a un mapping il cui schema non corrisponde allo schema della tabella inserita, l'operazione di inserimento avrà esito negativo.

Esempi

.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"}}'
']'

Output

Nome Tipologia Mapping Database Tabella
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

Esempio: creare il mapping di inserimento con caratteri di escape

.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}'
']'
  • Per descrizioni dettagliate dei vari formati di mapping di inserimento, ad esempio CSV, JSON, Avro, Parquet e Orc, vedere Mapping dei dati.