XDM 필드 유형 제약 조건
XDM(경험 데이터 모델) 스키마에서 필드 유형은 필드에 포함될 수 있는 데이터 종류를 제한합니다. 이 문서에서는 매핑할 수 있는 다른 일련화 형식과 다양한 제약 조건을 적용하기 위해 API에서 고유한 필드 유형을 정의하는 방법을 포함하여 각 코어 필드 유형에 대한 개요를 제공합니다.
시작하기
이 안내서를 사용하기 전에 XDM 스키마, 클래스 및 스키마 필드 그룹에 대한 소개는 스키마 컴포지션의 기본 사항을 검토하십시오.
API에서 고유한 필드 유형을 정의할 계획이라면 스키마 레지스트리 개발자 안내서로 시작하여 사용자 지정 필드를 포함할 필드 그룹 및 데이터 유형을 만드는 방법을 배우는 것이 좋습니다. Experience Platform UI를 사용하여 스키마를 만드는 경우 UI의 필드 정의에 대한 안내서를 참조하여 사용자 지정 필드 그룹 및 데이터 형식 내에서 정의한 필드에 대한 제약 조건을 구현하는 방법에 대해 알아보십시오.
기본 구조 및 예 basic-types
XDM은 JSON 스키마 위에 구축되므로 XDM 필드는 해당 유형을 정의할 때 유사한 구문을 상속합니다. JSON 스키마에서 다양한 필드 유형이 표현되는 방식을 이해하면 각 유형의 기본 제약 조건을 표시하는 데 도움이 될 수 있습니다. 사용자 정의 필드 이름은 대소문자를 구분하지 않으며 스키마의 동일한 수준에서 다른 이름을 가져야 합니다.
다음 표에서는 해당 유형을 준수하는 예제 값과 함께 각 XDM 유형이 JSON 스키마에서 표시되는 방식을 간략하게 설명합니다.
{"type": "string"}
"Platinum"
{"type": "number"}
12925.49
{
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991
}
1478108935
{
"type": "integer",
"maximum": 2147483648,
"minimum": -2147483648
}
24906290
{
"type": "integer",
"maximum": 32768,
"minimum": -32768
}
15781
{
"type": "integer",
"maximum": 128,
"minimum": -128
}
90
{
"type": "string",
"format": "date"
}
"2019-05-15"
{
"type": "string",
"format": "date-time"
}
"2019-05-15T20:20:39+00:00"
{"type": "string"}
true
*날짜 형식의 모든 문자열은 ISO 8601 표준(RFC 3339, 섹션 5.6)을 준수해야 합니다.
XDM 유형을 다른 형식으로 매핑
아래 섹션에서는 각 XDM 유형이 다른 일반적인 직렬화 형식에 매핑되는 방법을 설명합니다.
Parquet, Spark SQL 및 Java parquet
BYTE_ARRAY
주석:
UTF8
StringType
java.lang.String
DOUBLE
LongType
java.lang.Double
INT64
LongType
java.lang.Long
INT32
주석:
INT_32
IntegerType
java.lang.Integer
INT32
주석:
INT_16
ShortType
java.lang.Short
INT32
주석:
INT_8
ByteType
java.lang.Short
INT32
주석:
DATE
DateType
java.util.Date
INT64
주석:
TIMESTAMP_MILLIS
TimestampType
java.util.Date
BOOLEAN
BooleanType
java.lang.Boolean
MAP
주석이 있는 그룹(
<key-type>
은(는) STRING
이어야 합니다.)MapType
(
keyType
은(는) StringType
이어야 함)java.util.Map
Scala, .NET 및 CosmosDB scala
String
System.String
String
Double
System.Double
Number
Long
System.Int64
Number
Int
System.Int32
Number
Short
System.Int16
Number
Byte
System.SByte
Number
java.util.Date
System.DateTime
String
java.util.Date
System.DateTime
String
Boolean
System.Boolean
Boolean
Map
object
MongoDB, Aerospike 및 Protobuf 2 mongo
string
String
string
double
Double
double
long
Integer
int64
int
Integer
int32
int
Integer
int32
int
Integer
int32
date
Integer
(Unix 밀리초)
int64
(Unix 밀리초)
timestamp
Integer
(Unix 밀리초)
int64
(Unix 밀리초)
bool
Integer
(0/1 이진)
bool
object
map
map<key_type, value_type>
API에서 XDM 필드 유형 정의 define-fields
스키마 레지스트리 API를 사용하면 형식 및 선택적 제약 조건을 사용하여 사용자 지정 필드를 정의할 수 있습니다. 자세한 내용은 스키마 레지스트리 API에서 사용자 지정 필드 정의에 대한 안내서를 참조하십시오.