.create ingestion mapping 命令

创建可与特定格式和特定表或数据库关联的引入映射。

如果给定范围中已存在同名的映射,.create 会失败。 请改用 .create-or-alter

权限

创建数据库引入映射至少需要数据库引入器权限,创建表引入映射至少需要表引入器权限。

语法

.createtableTableNameingestionMappingKindmappingMappingNameMappingFormattedAsJson

.createdatabaseDatabaseNameingestionMappingKindmappingMappingNameMappingFormattedAsJson

详细了解语法约定

参数

客户 类型​​ 必需 说明
TableName string 表的名称。
DatabaseName string 数据库的名称。
MappingKind string 映射的类型。 有效值为 csvjsonavroparquetorc
MappingName string 映射的名称。
MappingFormattedAsJson string 格式化为 JSON 值的引入映射定义。

注意

  • 创建映射后,可在引入命令中按名称引用映射,而不必将完整映射指定为命令的一部分。
  • 如果在表范围和数据库范围中创建了同名的映射,则表范围中的映射将具有更高的优先级。
  • 在将数据引入到表中并引用其架构与所引入的表架构不匹配的映射时,引入操作将失败。

示例

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

输出

名称 种类 映射 数据库
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

示例:使用转义字符创建引入映射

.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 等各种引入映射格式的详细说明,请参阅数据映射