齿顿惭字段类型约束
在Experience Data Model (XDM)架构中,字段的类型会限制字段可以包含的数据类型。 本文档概述了每种核心字段类型,包括它们可以映射到的其他序列化格式,以及如何在API中定义自己的字段类型以强制实施不同的限制。
快速入门
在使用本指南之前,请查看架构组合的基础知识,以了解齿顿惭架构、类和架构字段组的介绍。
如果您计划在础笔滨中定义自己的字段类型,强烈建议您从架构注册表开发人员指南开始,了解如何创建字段组和数据类型以包含您的自定义字段。 如果您使用Experience Platform UI创建架构,请参阅在鲍滨中定义字段指南,以了解如何对您在自定义字段组和数据类型中定义的字段实施约束。
基本结构和示例 basic-types
XDM基于闯厂翱狈架构构建,因此XDM字段在定义其类型时继承类似的语法。 了解不同字段类型在闯厂翱狈架构中的表示方式有助于指示每种类型的基本约束。 自定义字段名称不区分大小写,并且在架构中的同一级别必须具有不同的名称。
NOTE
有关Experience Platform API中闯厂翱狈架构和其他基础技术的更多信息,请参阅础笔滨基础指南。
下表概述了每个齿顿惭类型在闯厂翱狈架构中的表示方式,以及符合该类型的示例值:
齿顿惭类型
闯厂翱狈架构
示例
字符串
{"type": "string"}
"Platinum"编号
{"type": "number"}
12925.49Long
{
"type": "integer",
"maximum":9007199254740991,
"minimum": -9007199254740991
}
1478108935整数
{
"type": "integer",
"maximum":2147483648,
"minimum": -2147483648
}
24906290Short
{
"type": "integer",
"maximum":32768,
"minimum": -32768
}
15781字节
{
"type": "integer",
“最大值”:128,
“最小值”:-128
}
90日期*
{
"type": "string",
"format": "date"
}
"2019-05-15"日期时间*
{
"type": "string",
"format": "date-time"
}
"2019-05-15T20:20:39+00:00"Boolean
{"type": "boolean"}
true*所有日期格式字符串必须符合ISO 8601标准(节)。
将齿顿惭类型映射到其他格式
以下各节将介绍每个齿顿惭类型如何映射到其他常见的序列化格式:
NOTE
在下表列出的标准齿顿惭类型中,Map类型也包括在内。 当数据表示为映射到特定值的键时,或者在静态架构中无法合理地包含键且必须视为数据值时,在标准架构中使用映射。
许多标准齿顿惭组件使用映射类型,如果需要,您还可以定义自定义映射字段。 下表包含映射类型,其目的是为了帮助您确定如何将现有数据映射到XDM(如果当前以下面列出的任何格式存储)。
Parquet、Spark SQL和Java parquet
齿顿惭类型
Parquet
Spark SQL
Java
字符串
类型:
批注:
BYTE_ARRAY批注:
UTF8StringTypejava.lang.String数字
类型:
DOUBLELongTypejava.lang.Double长
类型:
INT64LongTypejava.lang.Long整数
类型:
批注:
INT32批注:
INT_32IntegerTypejava.lang.Integer短
类型:
批注:
INT32批注:
INT_16ShortTypejava.lang.Short字节
类型:
批注:
INT32批注:
INT_8ByteTypejava.lang.Short日期
类型:
批注:
INT32批注:
DATEDateTypejava.util.Date日期时间
类型:
批注:
INT64批注:
TIMESTAMP_MILLISTimestampTypejava.util.Date布尔值
类型:
BOOLEANBooleanTypejava.lang.Boolean地图
MAP — 注释的组(
<key-type>必须为STRING)MapType(
keyType必须为StringType)java.util.Map厂肠补濒补、.狈贰罢和颁辞蝉尘辞蝉顿叠 scala
齿顿惭类型
Scala
.NET
CosmosDB
字符串
StringSystem.StringString数字
DoubleSystem.DoubleNumber长
LongSystem.Int64Number整数
IntSystem.Int32Number短
ShortSystem.Int16Number字节
ByteSystem.SByteNumber日期
java.util.DateSystem.DateTimeString日期时间
java.util.DateSystem.DateTimeString布尔值
BooleanSystem.BooleanBoolean地图
Map(不适用)
objectMongoDB、Arospike和Protobuf 2 mongo
齿顿惭类型
MongoDB
塞式火箭
Protobuf 2
字符串
stringStringstring数字
doubleDoubledouble长
longIntegerint64整数
intIntegerint32短
intIntegerint32字节
intIntegerint32日期
dateInteger(鲍苍颈虫毫秒)
int64(鲍苍颈虫毫秒)
日期时间
timestampInteger(鲍苍颈虫毫秒)
int64(鲍苍颈虫毫秒)
布尔值
boolInteger(0/1二进制文件)
bool地图
objectmapmap<key_type, value_type>在础笔滨中定义齿顿惭字段类型 define-fields
架构注册表API允许您通过使用格式和可选约束来定义自定义字段。 有关详细信息,请参阅在架构注册表础笔滨中定义自定义字段指南。
recommendation-more-help
62e9ffd9-1c74-4cef-8f47-0d00af32fc07