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 un database specifico.

Se esiste già un mapping con lo stesso nome nell'ambito specificato, .create avrà esito negativo. Usare 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 di tabelle sono necessarie almeno le autorizzazioni Table Ingestor .

Sintassi

.createtableTablenameingestionMappingKindmappingMappingName MappingFormattedAsJson

.createdatabaseDatabasenameingestionMappingKindmappingMappingName MappingFormattedAsJson

Altre informazioni sulle convenzioni di sintassi.

Parametri

Nome Tipo Obbligatoria Descrizione
TableName string ✔️ Nome della tabella.
DatabaseName string ✔️ Nome del database.
MappingKind string ✔️ Tipo di mapping. Sono valori validi 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à maggiore.
  • 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.

Esempio

.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

Name Tipo 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: mapping di inserimento con estensione create 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.