将XDM类型映射到其他格式
以下各节将介绍每个XDM类型如何映射到其他常见的序列化格式:
在下表列出的标准XDM类型中,Map类型也包括在内。 当数据表示为映射到特定值的键时,或者在静态架构中无法合理地包含键且必须视为数据值时,在标准架构中使用映射。
许多标准XDM组件使用映射类型,如果需要,您还可以定义自定义映射字段。 下表包含映射类型,其目的是为了帮助您确定如何将现有数据映射到XDM(如果当前以下面列出的任何格式存储)。
Parquet、Spark SQL和Java
XDM类型 | Parquet | Spark SQL | Java |
---|---|---|---|
字符串 | 类型: 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
XDM类型 | Scala | .NET | CosmosDB |
---|---|---|---|
字符串 | 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、Arospike和Protobuf 2
XDM类型 | MongoDB | 塞式火箭 | Protobuf 2 |
---|---|---|---|
字符串 | 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> |