|
1 | 1 | ---
|
2 |
| -title: FUSE 引擎 |
| 2 | +title: Fuse 引擎 |
3 | 3 | ---
|
4 | 4 | import FunctionDescription from '@site/src/components/FunctionDescription';
|
5 | 5 |
|
6 |
| -<FunctionDescription description="引入或更新:v1.2.223"/> |
| 6 | +<FunctionDescription description="引入或更新: v1.2.617"/> |
7 | 7 |
|
8 |
| -Databend 使用 FUSE 引擎作为其默认引擎,提供了一个类似于 Git 的用户友好界面的数据管理系统。用户可以随时轻松查询数据,并且可以轻松地将数据恢复到任何期望的时间点。 |
9 |
| - |
10 |
| -**相关主题**:[在 Databend 中找到 Peter Parker](https://www.databend.com/blog/time-travel) |
| 8 | +Databend 使用 Fuse 引擎作为其默认引擎,提供了一个类似于 Git 的用户友好界面的数据管理系统。用户可以轻松地在任何给定时刻查询数据,并轻松地将数据恢复到任何所需的时间点。 |
11 | 9 |
|
12 | 10 | ## 语法
|
13 | 11 |
|
14 | 12 | ```sql
|
15 |
| -CREATE TABLE table_name ( |
16 |
| - column_name1 column_type1, |
17 |
| - column_name2 column_type2, |
18 |
| - ... |
19 |
| -) [ENGINE = FUSE] [CLUSTER BY(<expr> [, <expr>, ...] )] [选项]; |
| 13 | +CREATE TABLE <table_name> ( |
| 14 | + <column_definitions> |
| 15 | +) [ENGINE = FUSE] |
| 16 | +[CLUSTER BY (<expr> [, <expr>, ...] )] |
| 17 | +[<Options>]; |
20 | 18 | ```
|
21 | 19 |
|
22 |
| -有关 CREATE TABLE 命令的更多信息,请参见 [CREATE TABLE](../../10-sql-commands/00-ddl/01-table/10-ddl-create-table.md)。 |
23 |
| - |
24 |
| -### ENGINE |
25 |
| - |
26 |
| -如果没有明确指定引擎,Databend 将自动默认使用 FUSE 引擎来创建表,这等同于 `Engine = FUSE`。 |
27 |
| - |
28 |
| -### CLUSTER BY |
29 |
| - |
30 |
| -`CLUSTER BY` 参数指定了由多个表达式组成的数据的排序方法,这在压缩或重新聚类时非常有用。合适的 `CLUSTER BY` 参数可以显著加速查询。 |
31 |
| - |
32 |
| -### 选项 |
33 |
| - |
34 |
| -FUSE 引擎提供以下选项(不区分大小写),使您能够进一步自定义引擎的功能。要修改现有表的选项,请使用 [ALTER TABLE OPTION](../../10-sql-commands/00-ddl/01-table/90-alter-table-option.md) 命令。 |
35 |
| - |
36 |
| -| 选项 | 语法 | 描述 | |
37 |
| -|---------------------- |----------------------------------------------------- |------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | |
38 |
| -| bloom_index_columns | `bloom_index_columns = '<column> [, <column> ...]'` | 指定用于布隆索引的列。这些列的数据类型可以是 Map、Number、String、Date 或 Timestamp。如果没有指定特定列,则默认在所有支持的列上创建布隆索引。`bloom_index_columns=''` 禁用布隆索引。 | |
39 |
| -| compression | `compression = '<compression>'` | 指定引擎的压缩方法。压缩选项包括 lz4、zstd、snappy 或 none。在对象存储中,默认的压缩方法为 zstd,在文件系统(fs)存储中为 lz4。 | |
40 |
| -| storage_format | `storage_format = '<storage_format>'` | 指定数据的存储方式。默认情况下,storage_format 设置为 **Parquet**,它提供高压缩率,非常适合云原生对象存储。此外,还支持实验性的 **Native** 格式,优化了存储设备(如文件系统)的内存复制开销。 | |
41 |
| -| snapshot_loc | `snapshot_loc = '<snapshot_loc>'` | 以字符串格式指定位置参数,允许轻松共享表而无需数据复制。 | |
42 |
| -| block_size_threshold | `block_size_threshold = '<block_size_threshold>'` | 指定最大块大小(以字节为单位)。默认为 104,857,600 字节。 | |
43 |
| -| block_per_segment | `block_per_segment = '<block_per_segment>'` | 指定段中的最大块数。默认为 1,000。 | |
44 |
| -| row_per_block | `row_per_block = '<row_per_block>'` | 指定文件中的最大行数。默认为 1,000,000。 | |
45 |
| -| change_tracking | `change_tracking = True / False` | 在 FUSE 引擎中将此选项设置为 `True` 允许跟踪表的更改。<br/>为表创建流将自动将 `change_tracking` 设置为 `True` 并为表引入额外的隐藏列作为更改跟踪元数据。更多信息,请参见 [流是如何工作的](../../10-sql-commands/00-ddl/04-stream/index.md#how-stream-works)。| |
| 20 | +有关 `CREATE TABLE` 语法的更多详细信息,请参阅 [CREATE TABLE](../../10-sql-commands/00-ddl/01-table/10-ddl-create-table.md)。 |
| 21 | + |
| 22 | +| 参数 | 描述 | |
| 23 | +|--------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| |
| 24 | +| `ENGINE` | 如果未明确指定引擎,Databend 将自动默认使用 Fuse 引擎创建表,这等同于 `ENGINE = FUSE`。 | |
| 25 | +| `CLUSTER BY` | 指定由多个表达式组成的数据的排序方法。更多信息,请参阅 [Cluster Key](/guides/performance/cluster-key)。 | |
| 26 | +| `<Options>` | Fuse 引擎提供了各种选项(不区分大小写),允许您自定义表的属性。详情请参阅 [Fuse 引擎选项](#fuse-engine-options)。<br/>- 使用空格分隔多个选项。<br/>- 使用 [ALTER TABLE OPTION](../../10-sql-commands/00-ddl/01-table/90-alter-table-option.md) 修改表的选项。<br/>- 使用 [SHOW CREATE TABLE](../../10-sql-commands/00-ddl/01-table/show-create-table.md) 显示表的选项。| |
| 27 | + |
| 28 | +## Fuse 引擎选项 |
| 29 | + |
| 30 | +以下是可用的 Fuse 引擎选项: |
| 31 | + |
| 32 | +| 选项 | 语法 | 描述 | |
| 33 | +|---------------------- |----------------------------------------------------- |------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
| 34 | +| bloom_index_columns | `bloom_index_columns = '<column> [, <column> ...]'` | 指定用于布隆索引的列。这些列的数据类型可以是 Map、Number、String、Date 或 Timestamp。如果没有指定特定列,布隆索引默认在所有支持的列上创建。`bloom_index_columns=''` 禁用布隆索引。 | |
| 35 | +| compression | `compression = '<compression>'` | 指定引擎的压缩方法。压缩选项包括 lz4、zstd、snappy 或 none。压缩方法在对象存储中默认为 zstd,在文件系统(fs)存储中默认为 lz4。 | |
| 36 | +| storage_format | `storage_format = '<storage_format>'` | 指定数据的存储方式。默认情况下,storage_format 设置为 **Parquet**,它提供高压缩率,非常适合云原生对象存储。此外,还支持实验性的 **Native** 格式,优化了文件系统等存储设备的内存复制开销。 | |
| 37 | +| snapshot_loc | `snapshot_loc = '<snapshot_loc>'` | 指定一个字符串格式的位置参数,允许在不复制数据的情况下轻松共享表。 | |
| 38 | +| block_size_threshold | `block_size_threshold = <n>` | 指定块的最大大小(以字节为单位)。默认值为 104,857,600 字节。 | |
| 39 | +| block_per_segment | `block_per_segment = <n>` | 指定段中的最大块数。默认值为 1,000。 | |
| 40 | +| row_per_block | `row_per_block = <n>` | 指定文件中的最大行数。默认值为 1,000,000。 | |
| 41 | +| change_tracking | `change_tracking = True / False` | 在 Fuse 引擎中将此选项设置为 `True` 允许跟踪表的更改。<br/>为表创建流将自动将 `change_tracking` 设置为 `True`,并在表中引入额外的隐藏列作为更改跟踪元数据。更多信息,请参阅 [How Stream Works](/guides/load-data/continuous-data-pipelines/stream#how-stream-works)。| |
| 42 | +| data_retention_period_in_hours | `data_retention_period_in_hours = <n>` | 指定保留表数据的小时数。最小值为 1 小时。最大值由 [databend-query.toml](https://github.com/datafuselabs/databend/blob/main/scripts/distribution/configs/databend-query.toml) 配置文件中的 `data_retention_time_in_days_max` 设置定义,如果未指定,则默认为 2,160 小时(90 天 x 24 小时)。| |
0 commit comments