Skip to content

Commit

Permalink
[Feature][API] Support timestamp with timezone offset
Browse files Browse the repository at this point in the history
  • Loading branch information
hailin0 committed Dec 24, 2024
1 parent 00c5aed commit a08c24e
Show file tree
Hide file tree
Showing 17 changed files with 279 additions and 47 deletions.
39 changes: 20 additions & 19 deletions docs/en/concept/schema-feature.md

Large diffs are not rendered by default.

39 changes: 20 additions & 19 deletions docs/zh/concept/schema-feature.md
Original file line number Diff line number Diff line change
Expand Up @@ -70,25 +70,26 @@ columns = [

#### 目前支持哪些类型

| 数据类型 | Java中的值类型 | 描述 |
|:----------|:---------------------------------------------------|:----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| string | `java.lang.String` | 字符串 |
| boolean | `java.lang.Boolean` | 布尔 |
| tinyint | `java.lang.Byte` | 常规-128 至 127 。 0 到 255 无符号*。 指定括号中的最大位数。 |
| smallint | `java.lang.Short` | 常规-32768 至 32767。 0 到 65535 无符号*。 指定括号中的最大位数。 |
| int | `java.lang.Integer` | 允许从 -2,147,483,648 到 2,147,483,647 的所有数字。 |
| bigint | `java.lang.Long` | 允许 -9,223,372,036,854,775,808 和 9,223,372,036,854,775,807 之间的所有数字。 |
| float | `java.lang.Float` | 从-1.79E+308 到 1.79E+308浮点精度数值数据。 |
| double | `java.lang.Double` | 双精度浮点。 处理大多数小数。 |
| decimal | `java.math.BigDecimal` | Double 类型存储为字符串,允许固定小数点。 |
| null | `java.lang.Void` | null |
| bytes | `byte[]` | 字节。 |
| date | `java.time.LocalDate` | 仅存储日期。从0001年1月1日到9999 年 12 月 31 日。 |
| time | `java.time.LocalTime` | 仅存储时间。精度为 100 纳秒。 |
| timestamp | `java.time.LocalDateTime` | 存储一个唯一的编号,每当创建或修改行时都会更新该编号。 时间戳基于内部时钟,与实际时间不对应。 每个表只能有一个时间戳变量。 |
| row | `org.apache.seatunnel.api.table.type.SeaTunnelRow` | 行类型,可以嵌套。 |
| map | `java.util.Map` | Map 是将键映射到值的对象。 键类型包括: `int` `string` `boolean` `tinyint` `smallint` `bigint` `float` `double` `decimal` `date` `time` `timestamp` `null` , and the value type includes `int` `string` `boolean` `tinyint` `smallint` `bigint` `float` `double` `decimal` `date` `time` `timestamp` `null` `array` `map` `row`. |
| array | `ValueType[]` | 数组是一种表示元素集合的数据类型。 元素类型包括: `int` `string` `boolean` `tinyint` `smallint` `bigint` `float` `double`. |
| 数据类型 | Java中的值类型 | 描述 |
|:-------------|:---------------------------------------------------|:----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| string | `java.lang.String` | 字符串 |
| boolean | `java.lang.Boolean` | 布尔 |
| tinyint | `java.lang.Byte` | 常规-128 至 127 。 0 到 255 无符号*。 指定括号中的最大位数。 |
| smallint | `java.lang.Short` | 常规-32768 至 32767。 0 到 65535 无符号*。 指定括号中的最大位数。 |
| int | `java.lang.Integer` | 允许从 -2,147,483,648 到 2,147,483,647 的所有数字。 |
| bigint | `java.lang.Long` | 允许 -9,223,372,036,854,775,808 和 9,223,372,036,854,775,807 之间的所有数字。 |
| float | `java.lang.Float` | 从-1.79E+308 到 1.79E+308浮点精度数值数据。 |
| double | `java.lang.Double` | 双精度浮点。 处理大多数小数。 |
| decimal | `java.math.BigDecimal` | Double 类型存储为字符串,允许固定小数点。 |
| null | `java.lang.Void` | null |
| bytes | `byte[]` | 字节。 |
| date | `java.time.LocalDate` | 仅存储日期。从0001年1月1日到9999 年 12 月 31 日。 |
| time | `java.time.LocalTime` | 仅存储时间。精度为 100 纳秒。 |
| timestamp | `java.time.LocalDateTime` | 存储一个唯一的编号,每当创建或修改行时都会更新该编号。 时间戳基于内部时钟,与实际时间不对应。 每个表只能有一个时间戳变量。 |
| timestamp_tz | `java.time.OffsetDateTime` | 存储一个唯一的编号,每当创建或修改行时都会更新该编号。 时间戳基于内部时钟,与实际时间不对应。 每个表只能有一个时间戳变量。 |
| row | `org.apache.seatunnel.api.table.type.SeaTunnelRow` | 行类型,可以嵌套。 |
| map | `java.util.Map` | Map 是将键映射到值的对象。 键类型包括: `int` `string` `boolean` `tinyint` `smallint` `bigint` `float` `double` `decimal` `date` `time` `timestamp` `null` , and the value type includes `int` `string` `boolean` `tinyint` `smallint` `bigint` `float` `double` `decimal` `date` `time` `timestamp` `null` `array` `map` `row`. |
| array | `ValueType[]` | 数组是一种表示元素集合的数据类型。 元素类型包括: `int` `string` `boolean` `tinyint` `smallint` `bigint` `float` `double`. |

#### 如何声明支持的类型

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,8 @@ public static SeaTunnelDataType<?> deserializeSeaTunnelDataType(
return LocalTimeType.LOCAL_TIME_TYPE;
case TIMESTAMP:
return LocalTimeType.LOCAL_DATE_TIME_TYPE;
case TIMESTAMP_TZ:
return LocalTimeType.OFFSET_DATE_TIME_TYPE;
case MAP:
return parseMapType(field, columnType);
case BINARY_VECTOR:
Expand Down
Loading

0 comments on commit a08c24e

Please sign in to comment.