Skip to content

Commit 3024c7e

Browse files
authored
feat: sync nightly to v1.0 (#2247)
Signed-off-by: Dennis Zhuang <[email protected]>
1 parent b01645c commit 3024c7e

File tree

20 files changed

+351
-262
lines changed

20 files changed

+351
-262
lines changed

i18n/zh/docusaurus-plugin-content-docs/version-1.0/reference/command-lines/utilities/data.md

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,8 @@ greptime cli data export [OPTIONS]
2020
| `--addr` || - | 要连接的 GreptimeDB 数据库地址 |
2121
| `--output-dir` || - | 存储导出数据的目录 |
2222
| `--database` || 所有数据库 | 要导出的数据库名称 |
23-
| `--export-jobs, -j` || 1 | 并行导出任务数量(多个数据库可以并行导出) |
23+
| `--db-parallelism, -j` || 1 | 并行导出的数据库数量。例如,有 20 个数据库且 `db-parallelism` 设置为 4 时,将同时导出 4 个数据库。(别名:`--export-jobs`|
24+
| `--table-parallelism` || 4 | 单个数据库内并行导出的表数量。例如,数据库包含 30 个表且 `table-parallelism` 设置为 8 时,将同时导出 8 个表。 |
2425
| `--max-retry` || 3 | 每个任务的最大重试次数 |
2526
| `--target, -t` || all | 导出目标(schema/data/all) |
2627
| `--start-time` || - | 数据导出的开始时间范围 |
@@ -56,15 +57,15 @@ greptime cli data import [OPTIONS]
5657
```
5758

5859
### 选项
59-
| 选项 | 是否必需 | 默认值 | 描述 |
60-
| ------------------- | -------- | ---------- | ------------------------------------------ |
61-
| `--addr` || - | 要连接的 GreptimeDB 数据库地址 |
62-
| `--input-dir` || - | 包含备份数据的目录 |
63-
| `--database` || 所有数据库 | 要导入的数据库名称 |
64-
| `--import-jobs, -j` || 1 | 并行导入任务数量(多个数据库可以并行导入) |
65-
| `--max-retry` || 3 | 每个任务的最大重试次数 |
66-
| `--target, -t` || all | 导入目标(schema/data/all) |
67-
| `--auth-basic` || - | 使用 `<username>:<password>` 格式 |
60+
| 选项 | 是否必需 | 默认值 | 描述 |
61+
| ------------------------ | -------- | ---------- | --------------------------------------------------------------------------------------------------------------------------------------- |
62+
| `--addr` || - | 要连接的 GreptimeDB 数据库地址 |
63+
| `--input-dir` || - | 包含备份数据的目录 |
64+
| `--database` || 所有数据库 | 要导入的数据库名称 |
65+
| `--db-parallelism, -j` || 1 | 并行导入的数据库数量。例如,有 20 个数据库且 `db-parallelism` 设置为 4 时,将同时导入 4 个数据库。(别名:`--import-jobs` |
66+
| `--max-retry` || 3 | 每个任务的最大重试次数 |
67+
| `--target, -t` || all | 导入目标(schema/data/all) |
68+
| `--auth-basic` || - | 使用 `<username>:<password>` 格式 |
6869

6970
### 导入目标
7071
- `schema`: 仅导入表结构

i18n/zh/docusaurus-plugin-content-docs/version-1.0/reference/http-endpoints.md

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -111,6 +111,29 @@ is_strict_mode = false
111111

112112
有关更多信息,请参阅[如何文档](https://github.com/GreptimeTeam/greptimedb/blob/main/docs/how-to/how-to-change-log-level-on-the-fly.md)
113113

114+
### 启用/禁用链路追踪
115+
116+
- **路径**: `/debug/enable_trace`
117+
- **方法**: `POST`
118+
- **描述**: 在运行时动态启用或禁用分布式链路追踪。
119+
- **用法**: 发送 `true` 启用链路追踪,或发送 `false` 禁用链路追踪。
120+
121+
启用链路追踪示例:
122+
123+
```bash
124+
curl --data "true" http://127.0.0.1:4000/debug/enable_trace
125+
# 输出: trace enabled
126+
```
127+
128+
禁用链路追踪示例:
129+
130+
```bash
131+
curl --data "false" http://127.0.0.1:4000/debug/enable_trace
132+
# 输出: trace disabled
133+
```
134+
135+
有关链路追踪配置的更多信息,请参阅[链路追踪文档](/user-guide/deployments-administration/monitoring/tracing.md)
136+
114137
### 性能分析工具
115138

116139
- **基础路径**: `/debug/prof/`

i18n/zh/docusaurus-plugin-content-docs/version-1.0/reference/sql/alter.md

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,9 @@ ALTER DATABASE db
3232
- 如果之前未设置 ttl,通过 `ALTER` 设置新的 ttl 后,超过保留时间的数据将被删除。
3333
- 如果之前已设置过 ttl,通过 `ALTER` 修改 ttl 后,新的保留时间将立即生效,超过新保留时间的数据将被删除。
3434
- 如果之前已设置过 ttl,通过 `ALTER` 取消 ttl 设置后,新增的数据将不会被删除,但已被删除的数据无法恢复。
35+
- `compaction.twcs.time_window`: TWCS 压缩策略的时间窗口参数。值应该是一个[时间长度字符串](/reference/time-durations.md)
36+
- `compaction.twcs.max_output_file_size`: TWCS 压缩策略的最大允许输出文件大小。
37+
- `compaction.twcs.trigger_file_num`: 触发压缩的特定时间窗口中的文件数。
3538

3639
### 示例
3740

@@ -49,6 +52,32 @@ ALTER DATABASE db SET 'ttl'='1d';
4952
ALTER DATABASE db UNSET 'ttl';
5053
```
5154

55+
#### 修改数据库的压缩选项
56+
57+
修改数据库的压缩时间窗口:
58+
59+
```sql
60+
ALTER DATABASE db SET 'compaction.twcs.time_window'='2h';
61+
```
62+
63+
修改压缩的最大输出文件大小:
64+
65+
```sql
66+
ALTER DATABASE db SET 'compaction.twcs.max_output_file_size'='500MB';
67+
```
68+
69+
修改触发压缩的文件数:
70+
71+
```sql
72+
ALTER DATABASE db SET 'compaction.twcs.trigger_file_num'='8';
73+
```
74+
75+
取消压缩选项:
76+
77+
```sql
78+
ALTER DATABASE db UNSET 'compaction.twcs.time_window';
79+
```
80+
5281
## ALTER TABLE
5382

5483
## 语法

i18n/zh/docusaurus-plugin-content-docs/version-1.0/reference/sql/copy.md

Lines changed: 47 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,19 @@ COPY tbl TO '/path/to/file.csv' WITH (
2727
);
2828
```
2929

30+
也可以将数据导出为压缩的 CSV 或 JSON 文件:
31+
32+
```sql
33+
COPY tbl TO '/path/to/file.csv.gz' WITH (
34+
FORMAT = 'csv',
35+
compression_type = 'gzip'
36+
);
37+
```
38+
39+
:::tip NOTE
40+
使用压缩时,请确保文件扩展名与压缩类型匹配:gzip 使用 `.gz`,zstd 使用 `.zst`,bzip2 使用 `.bz2`,xz 使用 `.xz`
41+
:::
42+
3043
#### `WITH` 选项
3144

3245
`WITH` 可以添加一些选项,比如文件的 `FORMAT` 用来指定导出文件的格式。本例中的格式为 Parquet,它是一种用于大数据处理的列式存储格式。Parquet 为大数据分析高效地压缩和编码列式数据。
@@ -35,6 +48,7 @@ COPY tbl TO '/path/to/file.csv' WITH (
3548
|---|---|---|
3649
| `FORMAT` | 目标文件格式,例如 JSON, CSV, Parquet | **** |
3750
| `START_TIME`/`END_TIME`| 需要导出数据的时间范围,时间范围为左闭右开 | 可选 |
51+
| `compression_type` | 导出文件的压缩算法。支持的值:`gzip``zstd``bzip2``xz`。仅支持 CSV 和 JSON 格式。 | 可选 |
3852
| `TIMESTAMP_FORMAT` | 导出 CSV 格式时自定义时间戳列的格式。使用 [strftime](https://docs.rs/chrono/latest/chrono/format/strftime/index.html) 格式说明符(例如 `'%Y-%m-%d %H:%M:%S'`)。仅支持 CSV 格式。 | 可选 |
3953
| `DATE_FORMAT` | 导出 CSV 格式时自定义日期列的格式。使用 [strftime](https://docs.rs/chrono/latest/chrono/format/strftime/index.html) 格式说明符(例如 `'%Y-%m-%d'`)。仅支持 CSV 格式。 | 可选 |
4054
| `TIME_FORMAT` | 导出 CSV 格式时自定义时间列的格式。使用 [strftime](https://docs.rs/chrono/latest/chrono/format/strftime/index.html) 格式说明符(例如 `'%H:%M:%S'`)。仅支持 CSV 格式。 | 可选 |
@@ -78,10 +92,20 @@ COPY tbl FROM '/path/to/folder/' WITH (FORMAT = 'parquet', PATTERN = '.*parquet.
7892
COPY tbl FROM '/path/to/folder/xxx.parquet' WITH (FORMAT = 'parquet');
7993
```
8094

95+
也可以从压缩的 CSV 或 JSON 文件导入数据:
96+
97+
```sql
98+
COPY tbl FROM '/path/to/file.csv.gz' WITH (
99+
FORMAT = 'csv',
100+
compression_type = 'gzip'
101+
);
102+
```
103+
81104
| 选项 | 描述 | 是否必需 |
82105
|---|---|---|
83106
| `FORMAT` | 目标文件格式,例如 JSON, CSV, Parquet, ORC | **** |
84107
| `PATTERN` | 使用正则匹配文件,例如 `*_today.parquet` | 可选 |
108+
| `compression_type` | 导入文件的压缩算法。支持的值:`gzip``zstd``bzip2``xz`。仅支持 CSV 和 JSON 格式。 | 可选 |
85109

86110
:::tip NOTE
87111
CSV 文件必须带有 header,包含表的列名。
@@ -151,6 +175,7 @@ COPY (<QUERY>) TO '<PATH>' WITH (FORMAT = { 'CSV' | 'JSON' | 'PARQUET' });
151175
| `QUERY` | 要执行的 SQL SELECT 语句 | **** |
152176
| `PATH` | 输出文件的路径 | **** |
153177
| `FORMAT` | 输出文件格式:'CSV'、'JSON' 或 'PARQUET' | **** |
178+
| `compression_type` | 导出文件的压缩算法。支持的值:`gzip``zstd``bzip2``xz`。仅支持 CSV 和 JSON 格式。 | 可选 |
154179
| `TIMESTAMP_FORMAT` | 导出 CSV 格式时自定义时间戳列的格式。使用 [strftime](https://docs.rs/chrono/latest/chrono/format/strftime/index.html) 格式说明符。仅支持 CSV 格式。 | 可选 |
155180
| `DATE_FORMAT` | 导出 CSV 格式时自定义日期列的格式。使用 [strftime](https://docs.rs/chrono/latest/chrono/format/strftime/index.html) 格式说明符。仅支持 CSV 格式。 | 可选 |
156181
| `TIME_FORMAT` | 导出 CSV 格式时自定义时间列的格式。使用 [strftime](https://docs.rs/chrono/latest/chrono/format/strftime/index.html) 格式说明符。仅支持 CSV 格式。 | 可选 |
@@ -161,6 +186,15 @@ COPY (<QUERY>) TO '<PATH>' WITH (FORMAT = { 'CSV' | 'JSON' | 'PARQUET' });
161186
COPY (SELECT * FROM tbl WHERE host = 'host1') TO '/path/to/file.csv' WITH (FORMAT = 'csv');
162187
```
163188

189+
也可以将查询结果导出为压缩文件:
190+
191+
```sql
192+
COPY (SELECT * FROM tbl WHERE host = 'host1') TO '/path/to/file.json.gz' WITH (
193+
FORMAT = 'json',
194+
compression_type = 'gzip'
195+
);
196+
```
197+
164198
也可以在导出到 CSV 时指定自定义日期和时间格式:
165199

166200
```sql
@@ -176,13 +210,14 @@ COPY (SELECT * FROM tbl WHERE host = 'host1') TO '/path/to/file.csv' WITH (
176210
`COPY` 语句除可以导入/导出表之外,也可以导入/导出指定的数据库,其语法如下:
177211

178212
```sql
179-
COPY DATABASE <db_name>
180-
[TO | FROM] '<PATH>'
213+
COPY DATABASE <db_name>
214+
[TO | FROM] '<PATH>'
181215
WITH (
182-
FORMAT = { 'CSV' | 'JSON' | 'PARQUET' }
216+
FORMAT = { 'CSV' | 'JSON' | 'PARQUET' }
183217
START_TIME = "<START TIMESTAMP>",
184-
END_TIME = "<END TIMESTAMP>"
185-
)
218+
END_TIME = "<END TIMESTAMP>",
219+
PARALLELISM = <number>
220+
)
186221
[CONNECTION(
187222
REGION = "<REGION NAME>",
188223
ENDPOINT = "<ENDPOINT>",
@@ -196,6 +231,7 @@ COPY DATABASE <db_name>
196231
|---|---|---|
197232
| `FORMAT` | 目标文件格式,例如 JSON, CSV, Parquet | **** |
198233
| `START_TIME`/`END_TIME`| 需要导出数据的时间范围,时间范围为左闭右开 | 可选 |
234+
| `PARALLELISM` | 并行处理的表数量。例如,数据库包含 30 个表且 `PARALLELISM` 设置为 8 时,将同时处理 8 个表。默认值为 CPU 核心总数,最小值为 1。 | 可选 |
199235

200236
> - 当导入/导出表时,`<PATH>` 参数必须以 `/` 结尾;
201237
> - COPY DATABASE 同样可以通过 `CONNECTION` 参数将数据导入/导出的路径指向 S3 等对象存储
@@ -207,11 +243,17 @@ COPY DATABASE <db_name>
207243
-- 将 public 数据库中所有数据导出到 /tmp/export/ 目录下
208244
COPY DATABASE public TO '/tmp/export/' WITH (FORMAT='parquet');
209245

246+
-- 使用 4 个并行操作导出所有表数据
247+
COPY DATABASE public TO '/tmp/export/' WITH (FORMAT='parquet', PARALLELISM=4);
248+
210249
-- 将 public 数据库中时间范围在 2022-04-11 08:00:00 到 2022-04-11 09:00:00 之间的数据导出到 /tmp/export/ 目录下
211250
COPY DATABASE public TO '/tmp/export/' WITH (FORMAT='parquet', START_TIME='2022-04-11 08:00:00', END_TIME='2022-04-11 09:00:00');
212251

213252
-- 从 /tmp/export/ 目录恢复 public 数据库的数据
214253
COPY DATABASE public FROM '/tmp/export/' WITH (FORMAT='parquet');
254+
255+
-- 使用 8 个并行操作导入数据
256+
COPY DATABASE public FROM '/tmp/export/' WITH (FORMAT='parquet', PARALLELISM=8);
215257
```
216258

217259
## Windows 平台上的路径

i18n/zh/docusaurus-plugin-content-docs/version-1.0/reference/sql/data-types.md

Lines changed: 36 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,11 @@ SQL 数据类型定义了列可以存储的数据类型。当您运行 `DESC TAB
3131
| `Float32` | 32 位 IEEE 754 浮点数 | 4 字节 |
3232
| `Float64` | 双精度 IEEE 754 浮点数 | 8 字节 |
3333

34+
:::tip 注意
35+
这里的描述指的是 GreptimeDB 原生类型信息,这些类型都是以 位(bits) 为单位的。但是,在使用 SQL 时,请遵循 PostgreSQL 和 MySQL 的惯例,其中 `INT2``INT4``INT8``FLOAT4``FLOAT8` 等类型都是以 字节(bytes) 为单位定义的。
36+
例如,在 SQL 语句中,`INT8` 实际上对应 `BigInt`(8 个字节,64 位)。
37+
:::
38+
3439
## Decimal 类型
3540

3641
GreptimeDB 支持 `decimal` 类型,这是一种定点类型,表示为 `decimal(precision, scale)`,其中 `precision` 是总位数,`scale` 是小数部分的位数。例如,`123.45` 的总位数为 5,小数位数为 2。
@@ -303,24 +308,37 @@ INSERT INTO bools(b) VALUES (TRUE), (FALSE);
303308

304309
对于从 MySQL 或 PostgreSQL 迁移到 GreptimeDB 的用户,GreptimeDB 支持以下类型别名。
305310

306-
| 数据类型 | 别名 |
307-
| ---------------------- | --------------------------------------------------------------- |
308-
| `String` | `Text`, `TinyText`, `MediumText`, `LongText`, `Varchar`, `Char` |
309-
| `Binary` | `Varbinary` |
310-
| `Int8` | `TinyInt` |
311-
| `Int16` | `SmallInt` |
312-
| `Int32` | `Int` |
313-
| `Int64` | `BigInt` |
314-
| `UInt8` | `UnsignedTinyInt` |
315-
| `UInt16` | `UnsignedSmallInt` |
316-
| `UInt32` | `UnsignedInt` |
317-
| `UInt64` | `UnsignedBigInt` |
318-
| `Float32` | `Float` |
319-
| `Float64` | `Double` |
320-
| `TimestampSecond` | `Timestamp_s`, `Timestamp_sec`, `Timestamp(0)` |
321-
| `TimestampMillisecond` | `Timestamp`, `Timestamp_ms` , `Timestamp(3)` |
322-
| `TimestampMicroSecond` | `Timestamp_us`, `Timestamp(6)` |
323-
| `TimestampNanosecond` | `Timestamp_ns`, `Timestamp(9)` |
311+
| SQL 类型别名 | Native 数据类型 |
312+
| --------------------------------------------------------------- | ---------------------- |
313+
| `Text`, `TinyText`, `MediumText`, `LongText`, `Varchar`, `Char` | `String` |
314+
| `Varbinary` | `Binary` |
315+
| `TinyInt` | `Int8` |
316+
| `SmallInt`, `Int2` | `Int16` |
317+
| `Int`, `Int4` | `Int32` |
318+
| `BigInt`, `Int8` | `Int64` |
319+
| `UnsignedTinyInt` | `UInt8` |
320+
| `UnsignedSmallInt` | `UInt16` |
321+
| `UnsignedInt` | `UInt32` |
322+
| `UnsignedBigInt` | `UInt64` |
323+
| `Float`, `Float4` | `Float32` |
324+
| `Double`, `Float8` | `Float64` |
325+
| `Timestamp_s`, `Timestamp_sec`, `Timestamp(0)` | `TimestampSecond` |
326+
| `Timestamp`, `Timestamp_ms`, `Timestamp(3)` | `TimestampMillisecond` |
327+
| `Timestamp_us`, `Timestamp(6)` | `TimestampMicroSecond` |
328+
| `Timestamp_ns`, `Timestamp(9)` | `TimestampNanosecond` |
329+
330+
:::warning 注意
331+
类型别名 `Int2``Int4``Int8``Float4``Float8` 遵循 PostgreSQL 和 MySQL 的约定,这些标识符表示类型中的**字节**数(而非位数)。
332+
333+
具体来说:
334+
- `Int2` = 2 字节 = `SmallInt`(16 位)
335+
- `Int4` = 4 字节 = `Int`(32 位)
336+
- `Int8` = 8 字节 = `BigInt`(64 位)
337+
- `Float4` = 4 字节 = `Float`(32 位)
338+
- `Float8` = 8 字节 = `Double`(64 位)
339+
340+
注意:GreptimeDB 的原生类型名称(如 `UInt8``Int32``Int64`)表示****数,而 SQL 类型别名 `Int2``Int4``Int8` 遵循 PostgreSQL/MySQL 约定表示**字节**数。例如,原生类型 `Int8` 是 8 ****整数(`TinyInt`, 1 字节),而 SQL 别名 `INT8` 映射到 8 **字节**整数(`BigInt`,64 位)。
341+
:::
324342

325343
在创建表时也可以使用这些别名类型。
326344
例如,使用 `Varchar` 代替 `String`,使用 `Double` 代替 `Float64`,使用 `Timestamp(0)` 代替 `TimestampSecond`

0 commit comments

Comments
 (0)