Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Feature][API] Support timestamp with timezone offset #8367

Merged
merged 3 commits into from
Jan 6, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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` | 存储带有 UTC 偏移量的日期和时间信息,包含本地日期时间和 UTC 偏移量。在处理多时区场景时,可以提供更精确的时间信息。 |
| 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
Loading