.create-or-alter ingestion mapping 命令

适用于:✅Azure 数据资源管理器

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

如果引入映射不存在,此命令会创建它。 如果引入映射已存在,此命令会修改它。

注意

引入映射中增加的新列(源表中不存在)将在该列的初始数据引入期间添加到表中。 只有排队引入才支持此行为,并且取决于是否为该列指定有效的数据类型。

权限

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

语法

.create-or-alter table TableName ingestion MappingKind mapping MappingName MappingFormattedAsJson

.create-or-alter database DatabaseName ingestion MappingKind mapping MappingName MappingFormattedAsJson

详细了解语法约定

参数

客户 类型​​ 必需 说明
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-or-alter table MyTable ingestion json mapping "Mapping1"
'['
'    { "column" : "rownumber", "datatype" : "int", "Properties":{"Path":"$.rownumber"}},'
'    { "column" : "rowguid", "Properties":{"Path":"$.rowguid"}}'
']'

输出

名称 种类 映射 数据库
mapping1 JSON [{"Properties":{"Path":"$.rownumber"},"column":"rownumber","datatype":"int"},{"Properties":{"Path":"$.rowguid"},"column":"rowguid","datatype":""}] MyDatabase MyTable
  • 有关 CSV、JSON、Avro、Parquet 和 Orc 等各种引入映射格式的详细说明,请参阅数据映射