diff --git a/TOC-tidb-cloud-essential.md b/TOC-tidb-cloud-essential.md index 5ab6a98249c9f..67b4894a5b3a8 100644 --- a/TOC-tidb-cloud-essential.md +++ b/TOC-tidb-cloud-essential.md @@ -12,7 +12,7 @@ - 快速上手 - [试用 TiDB Cloud](/tidb-cloud/tidb-cloud-quickstart.md) - [试用 HTAP](/tidb-cloud/tidb-cloud-htap-quickstart.md) - - [试用 TiDB Cloud CLI](/tidb-cloud/get-started-with-cli.md) + - [试用 TiDB Cloud CLI (ticloud)](/tidb-cloud/get-started-with-cli.md) - 关键概念 - [概览](/tidb-cloud/key-concepts.md) - [架构](/tidb-cloud/architecture-concepts.md) @@ -463,7 +463,7 @@ - [`schema_unused_indexes`](/sys-schema/sys-schema-unused-indexes.md) - [元数据锁](/metadata-lock.md) - [TiDB 加速建表](/accelerated-table-creation.md) -- CLI 参考 ![PREVIEW](/media/tidb-cloud/blank_transparent_placeholder.png) +- TiDB Cloud CLI (ticloud) 参考 ![PREVIEW](/media/tidb-cloud/blank_transparent_placeholder.png) - [概述](/tidb-cloud/cli-reference.md) - auth - [login](/tidb-cloud/ticloud-auth-login.md) @@ -557,6 +557,7 @@ - [服务器状态变量](/status-variables.md) - [表库过滤](/table-filter.md) - [外部存储服务的 URI 格式](/external-storage-uri.md) + - [为慢查询配置触发规则](/config-slow-query-trigger-rules.md) - [数据索引不一致报错](/troubleshoot-data-inconsistency-errors.md) - [通知](/tidb-cloud/notifications.md) - [适用于 {{{ .starter }}} 和 Essential 的项目 API 迁移指南](/tidb-cloud/tidbx-starter-essential-project-api-migration-guide.md) diff --git a/TOC-tidb-cloud-lake.md b/TOC-tidb-cloud-lake.md index a0f7a98a56db5..2f00d549ae606 100644 --- a/TOC-tidb-cloud-lake.md +++ b/TOC-tidb-cloud-lake.md @@ -1,7 +1,7 @@ -# 目录 +# 目录 ## 开始使用 @@ -56,26 +56,26 @@ - [MySQL 集成任务](/tidb-cloud-lake/guides/integrate-with-mysql.md) - [PostgreSQL 集成任务](/tidb-cloud-lake/guides/integrate-with-postgresql.md) - [Kafka Consumer 集成任务](/tidb-cloud-lake/guides/integrate-with-kafka.md) ![PREVIEW](/media/tidb-cloud/blank_transparent_placeholder.png) -- 加载数据 +- 导入数据 - 使用 Stage - [Stage 概述](/tidb-cloud-lake/guides/stage-overview.md) - [上传到 Stage](/tidb-cloud-lake/guides/upload-to-stage.md) - - 从文件加载 + - 从文件导入 - [概览](/tidb-cloud-lake/guides/load-from-files.md) - - [从 Stage 加载](/tidb-cloud-lake/guides/load-from-stage.md) - - [从存储桶加载](/tidb-cloud-lake/guides/load-from-bucket.md) - - [从本地文件加载](/tidb-cloud-lake/guides/load-from-local-file.md) - - [从远程文件加载](/tidb-cloud-lake/guides/load-from-remote-file.md) - - 使用平台加载 - - [使用 dbt 加载](/tidb-cloud-lake/guides/load-with-dbt.md) - - 加载半结构化数据 + - [从 Stage 导入](/tidb-cloud-lake/guides/load-from-stage.md) + - [从存储桶导入](/tidb-cloud-lake/guides/load-from-bucket.md) + - [从本地文件导入](/tidb-cloud-lake/guides/load-from-local-file.md) + - [从远程文件导入](/tidb-cloud-lake/guides/load-from-remote-file.md) + - 使用平台导入 + - [使用 dbt 导入](/tidb-cloud-lake/guides/load-with-dbt.md) + - 导入半结构化数据 - [概览](/tidb-cloud-lake/guides/load-semi-structured-data.md) - - [加载 Parquet](/tidb-cloud-lake/guides/load-parquet.md) - - [加载 CSV](/tidb-cloud-lake/guides/load-csv.md) - - [加载 TSV](/tidb-cloud-lake/guides/load-tsv.md) - - [加载 NDJSON](/tidb-cloud-lake/guides/load-ndjson.md) - - [加载 ORC](/tidb-cloud-lake/guides/load-orc.md) - - [加载 Avro](/tidb-cloud-lake/guides/load-avro.md) + - [导入 Parquet](/tidb-cloud-lake/guides/load-parquet.md) + - [导入 CSV](/tidb-cloud-lake/guides/load-csv.md) + - [导入 TSV](/tidb-cloud-lake/guides/load-tsv.md) + - [导入 NDJSON](/tidb-cloud-lake/guides/load-ndjson.md) + - [导入 ORC](/tidb-cloud-lake/guides/load-orc.md) + - [导入 Avro](/tidb-cloud-lake/guides/load-avro.md) - 查询与转换 - [概览](/tidb-cloud-lake/guides/query-stage.md) - [查询 Parquet 文件](/tidb-cloud-lake/guides/query-parquet-files-in-stage.md) @@ -84,19 +84,19 @@ - [查询 NDJSON 文件](/tidb-cloud-lake/guides/query-ndjson-files-in-stage.md) - [查询 Avro 文件](/tidb-cloud-lake/guides/query-avro-files-in-stage.md) - [查询暂存的 ORC 文件](/tidb-cloud-lake/guides/query-staged-orc-files-in-stage.md) - - [加载时转换数据](/tidb-cloud-lake/guides/transform-data-on-load.md) + - [导入时转换数据](/tidb-cloud-lake/guides/transform-data-on-load.md) - [Schema Evolution](/tidb-cloud-lake/guides/schema-evolution.md) - 持续数据管道 - [概览](/tidb-cloud-lake/guides/continuous-data-pipelines.md) - [通过 Streams 跟踪和转换数据](/tidb-cloud-lake/guides/track-and-transform-data-via-streams.md) - - [使用任务自动化数据加载](/tidb-cloud-lake/guides/automate-data-loading-with-tasks.md) -- 卸载数据 + - [使用任务自动化数据导入](/tidb-cloud-lake/guides/automate-data-loading-with-tasks.md) +- 导出数据 - [概览](/tidb-cloud-lake/guides/unload-data.md) - - [卸载 Parquet 文件](/tidb-cloud-lake/guides/unload-parquet-file.md) - - [卸载 CSV 文件](/tidb-cloud-lake/guides/unload-csv-file.md) - - [卸载 TSV 文件](/tidb-cloud-lake/guides/unload-tsv-file.md) - - [卸载 NDJSON 文件](/tidb-cloud-lake/guides/unload-ndjson-file.md) - - [卸载 Lance 数据集](/tidb-cloud-lake/guides/unload-lance-dataset.md) + - [导出 Parquet 文件](/tidb-cloud-lake/guides/unload-parquet-file.md) + - [导出 CSV 文件](/tidb-cloud-lake/guides/unload-csv-file.md) + - [导出 TSV 文件](/tidb-cloud-lake/guides/unload-tsv-file.md) + - [导出 NDJSON 文件](/tidb-cloud-lake/guides/unload-ndjson-file.md) + - [导出 Lance 数据集](/tidb-cloud-lake/guides/unload-lance-dataset.md) - 多模态数据分析 - [概览](/tidb-cloud-lake/guides/multimodal-data-analytics.md) - [SQL 分析](/tidb-cloud-lake/guides/sql-analytics.md) diff --git a/TOC-tidb-cloud-premium.md b/TOC-tidb-cloud-premium.md index 353f040f7f201..c036d380bf550 100644 --- a/TOC-tidb-cloud-premium.md +++ b/TOC-tidb-cloud-premium.md @@ -479,6 +479,7 @@ - [表库过滤](/table-filter.md) - [外部存储服务的 URI 格式](/external-storage-uri.md) - [内嵌于 DDL 的 Analyze](/ddl_embedded_analyze.md) + - [配置慢查询的触发规则](/config-slow-query-trigger-rules.md) - [数据索引不一致报错](/troubleshoot-data-inconsistency-errors.md) - [通知](/tidb-cloud/notifications.md) - 支持计划 diff --git a/TOC-tidb-cloud-starter.md b/TOC-tidb-cloud-starter.md index 02656f7a8e7a9..0bb12b21b6b65 100644 --- a/TOC-tidb-cloud-starter.md +++ b/TOC-tidb-cloud-starter.md @@ -13,7 +13,7 @@ - [试用 TiDB Cloud](/tidb-cloud/tidb-cloud-quickstart.md) - [试用 TiDB + AI 工具](/tidb-cloud/use-tidb-cloud-with-ai-tools.md) - [试用 HTAP](/tidb-cloud/tidb-cloud-htap-quickstart.md) - - [试用 TiDB Cloud CLI](/tidb-cloud/get-started-with-cli.md) + - [试用 TiDB Cloud CLI (ticloud, Legacy)](/tidb-cloud/get-started-with-cli.md) - 关键概念 - [概览](/tidb-cloud/key-concepts.md) - [架构](/tidb-cloud/architecture-concepts.md) @@ -461,7 +461,7 @@ - [`schema_unused_indexes`](/sys-schema/sys-schema-unused-indexes.md) - [元数据锁](/metadata-lock.md) - [TiDB 加速建表](/accelerated-table-creation.md) -- CLI 参考 ![PREVIEW](/media/tidb-cloud/blank_transparent_placeholder.png) +- TiDB Cloud CLI (ticloud, Legacy) 参考 ![PREVIEW](/media/tidb-cloud/blank_transparent_placeholder.png) - [概述](/tidb-cloud/cli-reference.md) - auth - [login](/tidb-cloud/ticloud-auth-login.md) diff --git a/config-slow-query-trigger-rules.md b/config-slow-query-trigger-rules.md new file mode 100644 index 0000000000000..ce33b412ccef8 --- /dev/null +++ b/config-slow-query-trigger-rules.md @@ -0,0 +1,195 @@ +--- +title: 配置慢查询的触发规则 +summary: 定义慢查询日志的触发规则。 +--- + +# 配置慢查询的触发规则 + + + +本文介绍如何使用 [`tidb_slow_log_rules`](/system-variables.md#tidb_slow_log_rules) 系统变量来定义[慢查询日志](/identify-slow-queries.md)的触发规则。 + +[`tidb_slow_log_rules`](/system-variables.md#tidb_slow_log_rules) 支持多维度指标组合,适用于慢查询日志的“定向采样”和“问题复现”,使你能够基于特定指标组合筛选目标语句。 + +对于 TiDB Self-Managed,慢查询日志的触发行为取决于 `tidb_slow_log_rules` 的配置: + +- 如果当前会话没有适用的 `tidb_slow_log_rules` 规则(无论是因为未设置该变量,还是因为已配置的规则均不适用于该会话),慢查询日志仍然依赖 [`tidb_slow_log_threshold`](/system-variables.md#tidb_slow_log_threshold)(单位为毫秒)。 +- 如果当前会话存在任意适用的 `tidb_slow_log_rules` 规则,慢查询日志是否输出由规则匹配结果决定,并且会忽略 [`tidb_slow_log_threshold`](/system-variables.md#tidb_slow_log_threshold)。 + + + + +在 [TiDB Cloud console](https://tidbcloud.com/) 中,你可以在 [**Diagnosis**](/tidb-cloud/tune-performance.md#view-the-diagnosis-page) 页面的 [**Slow Query**](/tidb-cloud/tune-performance.md#slow-query) 页签查看慢查询。 + +默认情况下,执行时间超过 300 毫秒的 SQL 查询会被视为慢查询。要配置慢查询的触发规则,你可以修改 [`tidb_slow_log_rules`](/system-variables.md#tidb_slow_log_rules) 系统变量。 + +[`tidb_slow_log_rules`](/system-variables.md#tidb_slow_log_rules) 支持多维度指标组合,适用于慢查询的“定向采样”和“问题复现”,使你能够基于特定指标组合筛选目标语句。 + + + +## 示例 {#examples} + +- 标准格式(`SESSION` 作用域): + + ```sql + SET SESSION tidb_slow_log_rules = 'Query_time: 0.5, Is_internal: false'; + ``` + +- 无效的 `SESSION` 规则(`SESSION` 作用域不支持 `Conn_ID`): + + ```sql + SET SESSION tidb_slow_log_rules = 'Conn_ID: 12, Query_time: 0.5, Is_internal: false'; + ``` + + + +- 全局规则(适用于所有连接): + + ```sql + SET GLOBAL tidb_slow_log_rules = 'Query_time: 0.5, Is_internal: false'; + ``` + +- 针对特定连接的全局规则(分别应用于两个连接 `Conn_ID:11` 和 `Conn_ID:12`): + + ```sql + SET GLOBAL tidb_slow_log_rules = 'Conn_ID: 11, Query_time: 0.5, Is_internal: false; Conn_ID: 12, Query_time: 0.6, Process_time: 0.3, DB: db1'; + ``` + + + + + +- 全局规则(适用于所有连接): + + ```sql + SET GLOBAL tidb_slow_log_rules = 'Query_time: 0.5, Is_internal: false'; + ``` + +- 针对特定连接的全局规则(分别应用于两个连接 `Conn_ID:11` 和 `Conn_ID:12`): + + ```sql + SET GLOBAL tidb_slow_log_rules = 'Conn_ID: 11, Query_time: 0.5, Is_internal: false; Conn_ID: 12, Query_time: 0.6, Process_time: 0.3, DB: db1'; + ``` + + + +## 统一规则语法和类型约束 {#unified-rule-syntax-and-type-constraints} + +- 规则容量与分隔方式:每个支持的作用域最多可包含 10 条规则。规则之间使用 `;` 分隔。 +- 条件格式:每个条件使用 `field_name:value` 格式。单条规则中的多个条件使用 `,` 分隔。 +- 字段名不区分大小写。字段名中的下划线和其他字符会被保留。 + + + +TiDB Self-Managed 同时支持 `tidb_slow_log_rules` 的 `SESSION` 和 `GLOBAL` 规则。单个会话在这两个作用域中最多可以有 20 条生效规则。`SESSION` 规则不支持 `Conn_ID`;只有 `GLOBAL` 规则支持该字段。 + + + + + +TiDB Cloud Dedicated 同时支持 `tidb_slow_log_rules` 的 `SESSION` 和 `GLOBAL` 规则。单个会话在这两个作用域中最多可以有 20 条生效规则。`SESSION` 规则不支持 `Conn_ID`;只有 `GLOBAL` 规则支持该字段。 + + + + + +TiDB Cloud Essential 和 TiDB Cloud Premium 仅支持 `tidb_slow_log_rules` 的 `SESSION` 规则。因此,仅在 `GLOBAL` 规则中可用的 `Conn_ID` 不受支持。 + + + +- 匹配语义: + - 除 `Conn_ID` 外的数值字段使用 `>=` 进行匹配。`Conn_ID`、字符串字段和布尔字段使用相等匹配(`=`)。 + - `DB` 和 `Resource_group` 的匹配不区分大小写。 + - 不支持显式运算符,例如 `>`、`<` 和 `!=`。 + +类型约束如下: + +- 数值类型(`int64`、`uint64`、`float64`)要求值大于或等于 `0`。负值会导致解析错误。 + - `int64`:最大值为 `2^63-1`。 + - `uint64`:最大值为 `2^64-1`。 + - `float64`:值必须是有限且非负的。最大值约为 `1.79e308`。`NaN` 以及 `Inf`、`-Inf` 等无穷值均无效,并会导致错误。 +- `bool`:支持 `true`/`false`、`1`/`0` 和 `t`/`f`(不区分大小写)。 +- `string`:当前不支持包含分隔符 `,`(条件分隔符)或 `;`(规则分隔符)的字符串,即使使用引号(单引号或双引号)也不支持。不支持转义。 +- 重复字段:如果同一字段在单条规则中被指定多次,则最后一次出现的值生效。 + +## 支持的字段 {#supported-fields} + +下表中的字段遵循[统一规则语法和类型约束](#unified-rule-syntax-and-type-constraints)中描述的一般匹配和类型规则,除非另有说明。 + +| 字段名 | 类型 | 单位 | 描述 | +| --- | --- | --- | --- | +| `Conn_ID` | `uint` | 次数 | 连接 ID(会话 ID)。该字段使用精确匹配。例如,`Conn_ID:3` 仅匹配会话 ID 为 `3` 的日志。该字段仅在 `GLOBAL` 规则中受支持。 | +| `Session_alias` | `string` | 无 | 当前会话的别名。 | +| `DB` | `string` | 无 | 当前数据库。匹配时不区分大小写。 | +| `Exec_retry_count` | `uint` | 次数 | 该语句的重试次数。该字段通常用于悲观事务,在锁失败时语句会被重试。 | +| `Query_time` | `float` | 秒 | 语句的执行时间。 | +| `Parse_time` | `float` | 秒 | 语句的解析时间。 | +| `Compile_time` | `float` | 秒 | 查询优化的持续时间。 | +| `Rewrite_time` | `float` | 秒 | 重写该语句查询所消耗的时间。 | +| `Optimize_time` | `float` | 秒 | 优化执行计划所消耗的时间。 | +| `Wait_TS` | `float` | 秒 | 语句获取事务时间戳的等待时间。 | +| `Is_internal` | `bool` | 无 | SQL 语句是否为 TiDB 内部语句。`true` 表示该语句在 TiDB 内部执行,`false` 表示该语句由用户执行。 | +| `Digest` | `string` | 无 | SQL 语句的指纹。 | +| `Plan_digest` | `string` | 无 | 执行计划的摘要。 | +| `Num_cop_tasks` | `int` | 次数 | 该语句发送的 Coprocessor 任务数。 | +| `Mem_max` | `int` | bytes | SQL 语句执行期间使用的最大内存空间。 | +| `Disk_max` | `int` | bytes | SQL 语句执行期间使用的最大磁盘空间。 | +| `Write_sql_response_total` | `float` | 秒 | 该语句将结果返回给客户端所消耗的时间。 | +| `Succ` | `bool` | 无 | 语句是否执行成功。 | +| `Resource_group` | `string` | 无 | 该语句绑定的资源组。匹配时不区分大小写。 | +| `KV_total` | `float` | 秒 | 该语句发送到 TiKV 或 TiFlash 的所有 RPC 请求所花费的时间。 | +| `PD_total` | `float` | 秒 | 该语句发送到 PD 的所有 RPC 请求所花费的时间。 | +| `Process_time` | `float` | 秒 | SQL 语句在 TiKV 中的总处理时间。由于数据会并发发送到 TiKV,该值可能超过 `Query_time`。 | +| `Backoff_time` | `float` | 秒 | 语句遇到需要重试的错误时,在重试前的等待时间。常见错误包括锁冲突、Region 切分以及 TiKV 服务器繁忙。 | +| `Total_keys` | `uint` | 次数 | Coprocessor 已扫描的 key 数量。 | +| `Process_keys` | `uint` | 次数 | Coprocessor 已处理的 key 数量。与 `Total_keys` 相比,`Process_keys` 不包含 MVCC 的旧版本。`Process_keys` 与 `Total_keys` 差异较大通常表示存在大量旧版本。 | +| `cop_mvcc_read_amplification` | `float` | 比率 | MVCC 读放大比率,计算方式为 `Total_keys / Process_keys`。 | +| `Prewrite_time` | `float` | 秒 | 两阶段事务提交第一阶段(prewrite)的持续时间。 | +| `Commit_time` | `float` | 秒 | 两阶段事务提交第二阶段(commit)的持续时间。 | +| `Write_keys` | `uint` | 次数 | 事务写入 TiKV 中 Write CF 的 key 数量。 | +| `Write_size` | `uint` | bytes | 事务提交时待写入的 key 或 value 的总大小。 | +| `Prewrite_region` | `uint` | 次数 | 两阶段事务提交第一阶段(prewrite)涉及的 TiKV Region 数量。每个 Region 都会触发一次远程过程调用。 | + +## 生效行为与匹配顺序 {#effective-behavior-and-matching-order} + +- 设置 `tidb_slow_log_rules` 会覆盖指定作用域中的现有规则,而不是追加新规则。 +- 将 `tidb_slow_log_rules` 设置为空字符串会清除指定作用域中的规则。 +- 多条规则之间使用 `OR` 组合,而单条规则中的多个字段条件之间使用 `AND` 组合。 +- 如果你仍希望使用 SQL 执行时间作为写入慢查询日志的条件,请在规则中使用 `Query_time`,并注意其单位为秒。 + + + +TiDB Self-Managed 同时支持 `tidb_slow_log_rules` 的 `SESSION` 和 `GLOBAL` 规则。 + +- 如果当前会话存在任意适用规则,例如 `SESSION` 规则、当前 `Conn_ID` 对应的 `GLOBAL` 规则,或不带 `Conn_ID` 的通用 `GLOBAL` 规则,则慢查询日志是否输出由规则匹配结果决定,并且会忽略 `tidb_slow_log_threshold`。 +- 如果当前会话没有适用规则,例如 `SESSION` 和 `GLOBAL` 规则都为空,或者仅配置了与当前 `Conn_ID` 不匹配的 `GLOBAL` 规则,则慢查询日志仍然取决于 `tidb_slow_log_threshold`。`tidb_slow_log_threshold` 的单位为毫秒。 +- TiDB 会先匹配 `SESSION` 规则。如果都不匹配,再匹配当前 `Conn_ID` 对应的 `GLOBAL` 规则,最后匹配不带 `Conn_ID` 的通用 `GLOBAL` 规则。 +- `SHOW VARIABLES LIKE 'tidb_slow_log_rules'` 和 `SELECT @@SESSION.tidb_slow_log_rules` 返回 `SESSION` 规则文本;如果未设置,则返回空字符串。`SELECT @@GLOBAL.tidb_slow_log_rules` 返回 `GLOBAL` 规则文本。 + + + + + +TiDB Cloud Dedicated 同时支持 `tidb_slow_log_rules` 的 `SESSION` 和 `GLOBAL` 规则。 + +- 如果当前会话存在任意适用规则,例如 `SESSION` 规则、当前 `Conn_ID` 对应的 `GLOBAL` 规则,或不带 `Conn_ID` 的通用 `GLOBAL` 规则,则慢查询日志是否输出由规则匹配结果决定。 +- 如果当前会话没有适用规则,例如 `SESSION` 和 `GLOBAL` 规则都为空,或者仅配置了与当前 `Conn_ID` 不匹配的 `GLOBAL` 规则,则慢查询日志规则会回退到默认规则:执行时间超过 300 毫秒的 SQL 查询会被视为慢查询。 +- TiDB 会先匹配 `SESSION` 规则。如果都不匹配,再匹配当前 `Conn_ID` 对应的 `GLOBAL` 规则,最后匹配不带 `Conn_ID` 的通用 `GLOBAL` 规则。 +- `SHOW VARIABLES LIKE 'tidb_slow_log_rules'` 和 `SELECT @@SESSION.tidb_slow_log_rules` 返回 `SESSION` 规则文本;如果未设置,则返回空字符串。`SELECT @@GLOBAL.tidb_slow_log_rules` 返回 `GLOBAL` 规则文本。 + + + + + +TiDB Cloud Essential 和 TiDB Cloud Premium 仅支持 `tidb_slow_log_rules` 的 `SESSION` 规则。 + +- 如果当前会话存在任意 `SESSION` 规则,则慢查询日志是否输出由规则匹配结果决定。 +- `SHOW VARIABLES LIKE 'tidb_slow_log_rules'` 和 `SELECT @@SESSION.tidb_slow_log_rules` 返回 `SESSION` 规则文本;如果未设置,则返回空字符串。 + + + +## 建议 {#recommendations} + +- `tidb_slow_log_rules` 旨在替代单一阈值方式。它支持多维度指标条件组合,从而能够更灵活、更细粒度地控制慢查询日志记录。 + +- 在资源充足的测试环境中(1 个 TiDB 节点,16 个 CPU 核心、48 GiB 内存;3 个 TiKV 节点,每个节点 16 个 CPU 核心、48 GiB 内存),重复的 sysbench 测试表明:当多维度慢查询日志规则在 30 分钟内生成数百万条慢日志记录时,性能影响仍然较小。然而,当日志量达到数千万条时,TPS 会显著下降,延时也会明显增加。因此,如果业务负载较高,或者 CPU 和内存资源已接近上限,请谨慎配置 `tidb_slow_log_rules`,以避免因规则过宽而导致日志泛滥。 如果你需要限制日志输出速率,请使用 [`tidb_slow_log_max_per_sec`](/system-variables.md#tidb_slow_log_max_per_sec) 对其进行限流,以降低对业务性能的影响。 \ No newline at end of file diff --git a/functions-and-operators/json-functions/json-functions-return.md b/functions-and-operators/json-functions/json-functions-return.md index 9fa4fd5f87ae9..6ef9b07ea25a0 100644 --- a/functions-and-operators/json-functions/json-functions-return.md +++ b/functions-and-operators/json-functions/json-functions-return.md @@ -17,7 +17,7 @@ TiDB 支持 MySQL 8.0 中所有 [返回 JSON 值属性的 JSON 函数](https://d - 根节点(`$`) - weather(`$.weather`) -- weather current(`$.weather.sunny`) +- weather current(`$.weather.current`) ```sql SELECT JSON_DEPTH('{"weather": {"current": "sunny"}}'); diff --git a/latest_translation_commit.json b/latest_translation_commit.json index ffba225abb001..46efd66930729 100644 --- a/latest_translation_commit.json +++ b/latest_translation_commit.json @@ -1,4 +1,4 @@ { "target": "release-8.5", - "sha": "bb4a157686a85532718c55e06ba029996486dab0" + "sha": "6acba5d04f2e3ab5702335c3823a92994ec87789" } diff --git a/sql-statements/sql-statement-grant-privileges.md b/sql-statements/sql-statement-grant-privileges.md index 5ab557d8c2b78..fcc865a614386 100644 --- a/sql-statements/sql-statement-grant-privileges.md +++ b/sql-statements/sql-statement-grant-privileges.md @@ -82,6 +82,7 @@ mysql> SHOW GRANTS FOR 'newuser'; ## MySQL 兼容性 * 类似于 MySQL,`USAGE` 权限表示登录 TiDB 服务器的能力。 +* 与 MySQL 不同,TiDB 不支持 `GRANT PROXY`。 * 从 v8.5.6 开始,TiDB 支持与 MySQL 兼容的列级权限管理机制。你可以对指定表中的特定列授予或撤销 `SELECT`、`INSERT`、`UPDATE` 和 `REFERENCES` 权限。更多信息,请参见 [列级权限管理](/column-privilege-management.md)。 * 类似于 MySQL,当 sql mode 中没有 `NO_AUTO_CREATE_USER` 时,如果用户不存在,`GRANT` 语句会自动创建一个空密码的新用户。移除此 sql mode(它默认启用)存在安全风险。 * 在 TiDB 中,成功执行 `GRANT ` 语句后,执行结果会立即在当前连接生效。而 [在 MySQL 中,对于某些权限,执行结果只在后续连接中生效](https://dev.mysql.com/doc/refman/8.0/en/privilege-changes.html)。详情请参见 [TiDB #39356](https://github.com/pingcap/tidb/issues/39356)。 diff --git a/system-variables.md b/system-variables.md index 4d6d13c09ff2d..6f4c2bf35cb4e 100644 --- a/system-variables.md +++ b/system-variables.md @@ -5984,32 +5984,54 @@ Query OK, 0 rows affected, 1 warning (0.00 sec) > > 跳过字符检查可能会使 TiDB 检测不到应用写入的非法 UTF-8 字符,进一步导致执行 `ANALYZE` 时解码错误,以及引入其他未知的编码问题。如果应用不能保证写入字符串的合法性,不建议跳过该检查。 -### tidb_slow_log_max_per_sec 从 v8.5.6 和 v9.0.0 版本开始引入 +### tidb_slow_log_max_per_sec 在 v8.5.6 和 CLOUD.202603.1 中引入 {#tidb_slow_log_max_per_sec} + +>**注意:** +> +> 对于 TiDB Cloud,此变量为只读。 - 作用域:GLOBAL -- 是否持久化到集群:是 +- 持久化到集群:是 - 是否受 Hint [SET_VAR](/optimizer-hints.md#set_varvar_namevar_value) 控制:否 - 默认值:`0` - 类型:整数型 -- 范围:`[0, 1000000]` -- 控制每个 TiDB 节点每秒打印的慢查询日志的数量上限。 - - 当值为 `0` (默认值)时,表示不限制每秒打印的慢查询日志数量。 - - 当值大于 `0` 时,TiDB 每秒最多打印指定数量的慢查询日志,超过部分将被丢弃,不会写入慢查询日志文件。 -- 该变量常与 [`tidb_slow_log_rules`](#tidb_slow_log_rules-从-v856-和-v900-版本开始引入) 结合使用,以防止在高负载情况下产生过多的慢查询日志。 +- 取值范围:`[0, 1000000]` +- 此变量用于控制每个 TiDB 节点每秒最多可写入的慢查询日志条目数。 + - 值为 `0` 表示每秒写入的慢查询日志条目数不受限制。 + - 值大于 `0` 表示 TiDB 每秒最多写入指定数量的慢查询日志条目。超出的日志条目会被丢弃,不会写入慢查询日志文件。 +- 此变量通常与 [`tidb_slow_log_rules`](#tidb_slow_log_rules) 一起使用,以防止在高负载条件下生成过多的慢查询日志。 -### tidb_slow_log_rules 从 v8.5.6 和 v9.0.0 版本开始引入 +### tidb_slow_log_rules v8.5.6 和 CLOUD.202603.1 中引入 {#tidb_slow_log_rules} -- 作用域:SESSION | GLOBAL -- 是否持久化到集群:是 +>**注意:** +> +> TiDB Cloud Starter 不支持此变量。 + +- 作用域 + - TiDB Self-Managed 和 TiDB Cloud Dedicated:SESSION | GLOBAL + - TiDB Cloud Essential 和 Premium:SESSION +- 持久化到集群:是 - 是否受 Hint [SET_VAR](/optimizer-hints.md#set_varvar_namevar_value) 控制:否 -- 默认值:"" +- 默认值:`""` - 类型:字符串 -- 用于定义慢查询日志的触发规则,支持基于多维度指标的组合条件,实现更加灵活和精细化的日志记录控制。 -- 关于该系统变量的详细使用方法,请参考 [`tidb_slow_log_rules` 使用方法](/identify-slow-queries.md#tidb_slow_log_rules-使用方法)。 +- 此变量定义了慢查询日志的触发规则。它支持组合多维指标,从而提供更灵活、细粒度的日志记录能力。 +- 有关如何使用此系统变量的更多信息,请参见[配置慢查询触发规则](/config-slow-query-trigger-rules.md)。 + + + +> **提示:** +> +> - 在生产环境中启用 `tidb_slow_log_rules` 时,建议同时配置 [`tidb_slow_log_max_per_sec`](#tidb_slow_log_max_per_sec),以避免过于频繁地打印慢查询日志。 +> - 建议先从更严格的条件开始,再根据故障排查需求逐步放宽。有关性能影响的更多信息,请参见[建议](/config-slow-query-trigger-rules.md#recommendations)。 -> **Tip:** + + + +> **提示:** > -> 建议在启用 `tidb_slow_log_rules` 后,同时配置 [`tidb_slow_log_max_per_sec`](#tidb_slow_log_max_per_sec-从-v856-和-v900-版本开始引入),以限制慢查询日志打印频率,防止基于规则的慢查询日志触发过于频繁。 +> 建议先从更严格的条件开始,再根据故障排查需求逐步放宽。有关性能影响的更多信息,请参见[建议](/config-slow-query-trigger-rules.md#recommendations)。 + + ### tidb_slow_log_threshold diff --git a/tidb-cloud-lake/_index.md b/tidb-cloud-lake/_index.md index bee6249265ec7..5a155ff13e440 100644 --- a/tidb-cloud-lake/_index.md +++ b/tidb-cloud-lake/_index.md @@ -53,11 +53,11 @@ summary: TiDB Cloud Lake 是一项面向分析型工作负载的云原生数据 - + [Stage 概述](https://docs.pingcap.com/zh/tidbcloudlake/stage-overview/) -[从文件加载](https://docs.pingcap.com/zh/tidbcloudlake/load-from-files/) +[从文件导入](https://docs.pingcap.com/zh/tidbcloudlake/load-from-files/) [查询与转换](https://docs.pingcap.com/zh/tidbcloudlake/query-stage/) diff --git a/tidb-cloud-lake/guides/benchmark-data-ingestion.md b/tidb-cloud-lake/guides/benchmark-data-ingestion.md index 3e8fb952bdf30..5ba995115acd2 100644 --- a/tidb-cloud-lake/guides/benchmark-data-ingestion.md +++ b/tidb-cloud-lake/guides/benchmark-data-ingestion.md @@ -157,7 +157,7 @@ summary: 本页展示了 {{{ .lake }}} 与 Snowflake 在数据摄取性能和成 ); ``` -2. 将数据卸载到 external stage。 +2. 将数据导出到 external stage。 ```sql CREATE or REPLACE FILE FORMAT tsv_unload_format_gzip diff --git a/tidb-cloud-lake/guides/editions.md b/tidb-cloud-lake/guides/editions.md index 9bf3da7a67cb5..e7e2a846a5716 100644 --- a/tidb-cloud-lake/guides/editions.md +++ b/tidb-cloud-lake/guides/editions.md @@ -73,7 +73,7 @@ summary: "{{{ .lake }}} 提供三个版本:Personal、Business 和 Dedicated | 功能 | Personal | Business | Dedicated | |----------|----------|----------|-----------| | 新一代 SQL 工作区,用于高级查询开发、数据分析和可视化。 | ✓ | ✓ | ✓ | -| LakeSQL,一种命令行客户端,用于构建/测试查询、加载/卸载批量数据以及自动化 DDL 操作。 | ✓ | ✓ | ✓ | +| LakeSQL,一种命令行客户端,用于构建/测试查询、加载/导出批量数据以及自动化 DDL 操作。 | ✓ | ✓ | ✓ | | Rust、Python、Java、Node.js、.js、PHP 和 Go 的编程接口。 | ✓ | ✓ | ✓ | | 原生支持 JDBC。 | ✓ | ✓ | ✓ | | 丰富的生态系统,可连接 ETL、BI 以及其他第三方供应商和技术。 | ✓ | ✓ | ✓ | @@ -83,7 +83,7 @@ summary: "{{{ .lake }}} 提供三个版本:Personal、Business 和 Dedicated | 功能 | Personal | Business | Dedicated | |----------|----------|----------|-----------| | 从分隔符平面文件(CSV、TSV 等)和半结构化数据文件(JSON、ORC、Parquet)进行批量加载。 | ✓ | ✓ | ✓ | -| 批量卸载到分隔符平面文件和 JSON 文件。 | ✓ | ✓ | ✓ | +| 批量导出到分隔符平面文件和 JSON 文件。 | ✓ | ✓ | ✓ | | 持续微批加载。 | ✓ | ✓ | ✓ | | 用于低延时加载流式数据的流式处理。 | ✓ | ✓ | ✓ | | 用于从 Apache Kafka topic 加载数据的 {{{ .lake }}} Connector for Kafka。 | ✓ | ✓ | ✓ | diff --git a/tidb-cloud-lake/guides/load-avro.md b/tidb-cloud-lake/guides/load-avro.md index e013b88b2b080..5dd86fcf3c26a 100644 --- a/tidb-cloud-lake/guides/load-avro.md +++ b/tidb-cloud-lake/guides/load-avro.md @@ -1,17 +1,17 @@ --- -title: 将 Avro 加载到 TiDB Cloud Lake +title: 将 Avro 数据导入到 TiDB Cloud Lake summary: Apache Avro™ 是记录数据的主流序列化格式,也是流式数据管道的首选格式。 --- -# 将 Avro 加载到 TiDB Cloud Lake +# 将 Avro 数据导入到 TiDB Cloud Lake ## 什么是 Avro? {#what-is-avro} [Apache Avro™](https://avro.apache.org/) 是记录数据的主流序列化格式,也是流式数据管道的首选格式。 -## 加载 Avro 文件 {#loading-avro-file} +## 导入 Avro 文件 {#loading-avro-file} -加载 AVRO 文件的通用语法如下: +导入 AVRO 文件的通用语法如下: ```sql COPY INTO [.] @@ -23,9 +23,9 @@ FILE_FORMAT = (TYPE = AVRO) - 有关更多 Avro 文件格式选项,请参阅[Avro 文件格式选项](/tidb-cloud-lake/sql/input-output-file-formats.md#avro-options)。 - 有关更多 COPY INTO table 选项,请参阅[COPY INTO table](/tidb-cloud-lake/sql/copy-into-table.md)。 -## 教程:通过远程 HTTP URL 将 Avro 数据加载到 {{{ .lake }}} {#tutorial-loading-avro-data-into-lake-from-remote-http-url} +## 教程:通过远程 HTTP URL 将 Avro 数据导入到 {{{ .lake }}} {#tutorial-loading-avro-data-into-lake-from-remote-http-url} -在本教程中,你将基于 Avro schema 在 {{{ .lake }}} 中创建一张表,并通过 HTTPS 直接从 GitHub 托管的 `.avro` 文件加载 Avro 数据。 +在本教程中,你将基于 Avro schema 在 {{{ .lake }}} 中创建一张表,并通过 HTTPS 直接从 GitHub 托管的 `.avro` 文件导入 Avro 数据。 ### 第 1 步:查看 Avro schema {#step-1-review-the-avro-schema} @@ -75,7 +75,7 @@ CREATE TABLE userdata ( ); ``` -### 第 3 步:从远程 HTTPS URL 加载数据 {#step-3-load-data-from-a-remote-https-url} +### 第 3 步:从远程 HTTPS URL 导入数据 {#step-3-load-data-from-a-remote-https-url} ```sql COPY INTO userdata diff --git a/tidb-cloud-lake/guides/load-csv.md b/tidb-cloud-lake/guides/load-csv.md index d4b12ae48371b..b0d0ee3a79580 100644 --- a/tidb-cloud-lake/guides/load-csv.md +++ b/tidb-cloud-lake/guides/load-csv.md @@ -1,9 +1,9 @@ --- -title: 将 CSV 加载到 TiDB Cloud Lake +title: 将 CSV 数据到 TiDB Cloud Lake summary: CSV(Comma Separated Values,逗号分隔值)是一种用于存储表格数据的简单文件格式,例如电子表格或数据库中的数据。CSV 文件是纯文本文件,以表格形式包含数据,其中每一行表示一条新记录,各列之间通过分隔符分隔。 --- -# 将 CSV 加载到 TiDB Cloud Lake +# 将 CSV 数据导入到 TiDB Cloud Lake ## 什么是 CSV? {#what-is-csv} @@ -16,9 +16,9 @@ Title_0,Author_0 Title_1,Author_1 ``` -## 加载 CSV 文件 {#loading-csv-file} +## 导入 CSV 文件 {#loading-csv-file} -加载 CSV 文件的常用语法如下: +导入 CSV 文件的常用语法如下: ```sql COPY INTO [.] @@ -36,7 +36,7 @@ FROM { userStage | internalStage | externalStage | externalLocation } - 有关更多 CSV 文件格式选项,请参见 [CSV 文件格式选项](/tidb-cloud-lake/sql/input-output-file-formats.md#csv-options)。 - 有关更多 COPY INTO table 选项,请参见 [COPY INTO table](/tidb-cloud-lake/sql/copy-into-table.md)。 -## 教程:从 CSV 文件加载数据 {#tutorial-loading-data-from-csv-files} +## 教程:从 CSV 文件导入数据 {#tutorial-loading-data-from-csv-files} ### 第 1 步:创建 Internal Stage {#step-1-create-an-internal-stage} diff --git a/tidb-cloud-lake/guides/load-from-bucket.md b/tidb-cloud-lake/guides/load-from-bucket.md index 4b8331154d98d..9de164a29273a 100644 --- a/tidb-cloud-lake/guides/load-from-bucket.md +++ b/tidb-cloud-lake/guides/load-from-bucket.md @@ -1,17 +1,17 @@ --- -title: 从存储桶加载 -summary: 当数据文件存储在对象存储存储桶(例如 Amazon S3)中时,可以使用 COPY INTO 命令将其直接加载到 {{{ .lake }}} 中。请注意,文件必须采用 {{{ .lake }}} 支持的格式,否则无法导入数据。有关 {{{ .lake }}} 支持的文件格式的更多信息,请参见 Input & Output File Formats。 +title: 从存储桶导入数据 +summary: 当数据文件存储在对象存储存储桶(例如 Amazon S3)中时,可以使用 COPY INTO 命令将其直接导入到 {{{ .lake }}} 中。请注意,文件必须采用 {{{ .lake }}} 支持的格式,否则无法导入数据。有关 {{{ .lake }}} 支持的文件格式的更多信息,请参见 Input & Output File Formats。 --- -# 从存储桶加载 +# 从存储桶导入数据 -当数据文件存储在对象存储存储桶(例如 Amazon S3)中时,可以使用 [COPY INTO](/tidb-cloud-lake/sql/copy-into-table.md) 命令将其直接加载到 {{{ .lake }}} 中。请注意,文件必须采用 {{{ .lake }}} 支持的格式,否则无法导入数据。有关 {{{ .lake }}} 支持的文件格式的更多信息,请参见 [输入与输出文件格式](/tidb-cloud-lake/sql/input-output-file-formats.md)。 +当数据文件存储在对象存储存储桶(例如 Amazon S3)中时,可以使用 [COPY INTO](/tidb-cloud-lake/sql/copy-into-table.md) 命令将其直接导入到 {{{ .lake }}} 中。请注意,文件必须采用 {{{ .lake }}} 支持的格式,否则无法导入数据。有关 {{{ .lake }}} 支持的文件格式的更多信息,请参见 [输入与输出文件格式](/tidb-cloud-lake/sql/input-output-file-formats.md)。 ![image](/media/tidb-cloud-lake/load-data-from-s3.jpeg) -本教程以 Amazon S3 存储桶为例,提供详细的分步指南,帮助你顺利完成从存储桶中的文件加载数据的过程。 +本教程以 Amazon S3 存储桶为例,提供详细的分步指南,帮助你顺利完成从存储桶中的文件导入数据的过程。 -## 教程:从 Amazon S3 存储桶加载 {#tutorial-loading-from-amazon-s3-bucket} +## 教程:从 Amazon S3 存储桶导入 {#tutorial-loading-from-amazon-s3-bucket} ### 开始之前 {#before-you-begin} @@ -47,7 +47,7 @@ CREATE TABLE books ### 步骤 2:将数据复制到表中 {#step-2-copy-data-into-table} -1. 使用 [COPY INTO](/tidb-cloud-lake/sql/copy-into-table.md) 命令将数据加载到目标表中: +1. 使用 [COPY INTO](/tidb-cloud-lake/sql/copy-into-table.md) 命令将数据导入到目标表中: ```sql COPY INTO books @@ -62,7 +62,7 @@ CREATE TABLE books ); ``` -2. 检查已加载的数据: +2. 检查已导入的数据: ```sql SELECT * FROM books; diff --git a/tidb-cloud-lake/guides/load-from-files.md b/tidb-cloud-lake/guides/load-from-files.md index cd62993690441..ce05e4d778020 100644 --- a/tidb-cloud-lake/guides/load-from-files.md +++ b/tidb-cloud-lake/guides/load-from-files.md @@ -1,11 +1,11 @@ --- -title: 从文件加载 -summary: TiDB Cloud Lake 提供简单而强大的命令,可将数据文件加载到表中。大多数操作只需一条命令。 +title: 从文件导入数据 +summary: TiDB Cloud Lake 提供简单而强大的命令,可将数据文件导入到表中。大多数操作只需一条命令。 --- -# 从文件加载 +# 从文件导入数据 -{{{ .lake }}} 提供简单而强大的命令,可将数据文件加载到表中。大多数操作只需一条命令。你的数据必须采用[支持的格式](/tidb-cloud-lake/sql/input-output-file-formats.md)。 +{{{ .lake }}} 提供简单而强大的命令,可将数据文件导入到表中。大多数操作只需一条命令。你的数据必须采用[支持的格式](/tidb-cloud-lake/sql/input-output-file-formats.md)。 ![Data Loading and Unloading Overview](/media/tidb-cloud-lake/load-unload.png) @@ -19,13 +19,13 @@ summary: TiDB Cloud Lake 提供简单而强大的命令,可将数据文件加 | [**ORC**](/tidb-cloud-lake/guides/load-orc.md) | 半结构化 | 高性能列式格式 | | [**Avro**](/tidb-cloud-lake/guides/load-avro.md) | 半结构化 | 带 schema 的紧凑二进制格式 | -## 按文件位置加载 {#loading-by-file-location} +## 按文件位置导入 {#loading-by-file-location} -选择文件所在的位置,以查找推荐的加载方法: +选择文件所在的位置,以查找推荐的导入方法: | 数据源 | 推荐工具 | 描述 | 文档 | |-------------|-----------------|-------------|---------------| -| **暂存数据文件** | **COPY INTO** | 从内部/外部 stage 或用户 stage 快速高效地加载 | [从 stage 加载](/tidb-cloud-lake/guides/load-from-stage.md) | -| **云存储** | **COPY INTO** | 从 Amazon S3、Google Cloud Storage、Microsoft Azure 加载 | [从存储桶加载](/tidb-cloud-lake/guides/load-from-bucket.md) | -| **本地文件** | [**LakeSQL**](https://github.com/tidbcloud/lakesql) | {{{ .lake }}} 的原生 CLI 工具,用于加载本地文件 | [从本地文件加载](/tidb-cloud-lake/guides/load-from-local-file.md) | -| **远程文件** | **COPY INTO** | 从远程 HTTP/HTTPS 位置加载数据 | [从远程文件加载](/tidb-cloud-lake/guides/load-from-remote-file.md) | \ No newline at end of file +| **暂存数据文件** | **COPY INTO** | 从内部/外部 stage 或用户 stage 快速高效地导入 | [从 stage 导入](/tidb-cloud-lake/guides/load-from-stage.md) | +| **云存储** | **COPY INTO** | 从 Amazon S3、Google Cloud Storage、Microsoft Azure 导入 | [从存储桶导入](/tidb-cloud-lake/guides/load-from-bucket.md) | +| **本地文件** | [**LakeSQL**](https://github.com/tidbcloud/lakesql) | {{{ .lake }}} 的原生 CLI 工具,用于导入本地文件 | [从本地文件导入](/tidb-cloud-lake/guides/load-from-local-file.md) | +| **远程文件** | **COPY INTO** | 从远程 HTTP/HTTPS 位置导入数据 | [从远程文件导入](/tidb-cloud-lake/guides/load-from-remote-file.md) | \ No newline at end of file diff --git a/tidb-cloud-lake/guides/load-from-local-file.md b/tidb-cloud-lake/guides/load-from-local-file.md index 1305889874a7f..147f3a47189c4 100644 --- a/tidb-cloud-lake/guides/load-from-local-file.md +++ b/tidb-cloud-lake/guides/load-from-local-file.md @@ -1,24 +1,24 @@ --- -title: 从本地文件加载 -summary: 在将本地数据文件加载到 {{{ .lake }}} 之前,先将其上传到 stage 或存储桶可能并非必要。相反,你可以使用 {{{ .lake }}} 原生 CLI 工具 LakeSQL 直接导入数据。这样可以简化工作流,并节省存储费用。 +title: 从本地文件导入数据 +summary: 在将本地数据文件导入到 {{{ .lake }}} 之前,先将其上传到 stage 或存储桶可能并非必要。相反,你可以使用 {{{ .lake }}} 原生 CLI 工具 LakeSQL 直接导入数据。这样可以简化工作流,并节省存储费用。 --- -# 从本地文件加载 +# 从本地文件导入数据 -在将本地数据文件加载到 {{{ .lake }}} 之前,先将其上传到 stage 或存储桶可能并非必要。相反,你可以使用 [LakeSQL](/tidb-cloud-lake/guides/connect-using-lakesql.md)({{{ .lake }}} 原生 CLI 工具)直接导入数据。这样可以简化工作流,并节省存储费用。 +在将本地数据文件导入到 {{{ .lake }}} 之前,先将其上传到 stage 或存储桶可能并非必要。相反,你可以使用 [LakeSQL](/tidb-cloud-lake/guides/connect-using-lakesql.md)({{{ .lake }}} 原生 CLI 工具)直接导入数据。这样可以简化工作流,并节省存储费用。 请注意,文件必须采用 {{{ .lake }}} 支持的格式,否则无法导入数据。有关 {{{ .lake }}} 支持的文件格式的更多信息,请参见 [输入与输出文件格式](/tidb-cloud-lake/sql/input-output-file-formats.md)。 -你还可以使用 JDBC 或 Python 驱动,以编程方式将本地文件加载到表中。 +你还可以使用 JDBC 或 Python 驱动,以编程方式将本地文件导入到表中。 -## 加载方法 {#load-methods} +## 导入方法 {#load-methods} -从本地文件加载数据有两种方法: +从本地文件导入数据有两种方法: 1. **Stage**:先将本地文件上传到内部 stage,然后将已暂存文件中的数据复制到表中。文件上传通过 lake-query 或 presigned URL 进行,具体取决于连接选项 `presigned_url_disabled`(默认值:`false`)。 -2. **Streaming**:在上传过程中将文件直接加载到表中。当文件过大,无法作为单个对象存储在对象存储中时,请使用此方法。 +2. **Streaming**:在上传过程中将文件直接导入到表中。当文件过大,无法作为单个对象存储在对象存储中时,请使用此方法。 -## 教程 1:从本地文件加载 {#tutorial-1-load-from-a-local-file} +## 教程 1:从本地文件导入 {#tutorial-1-load-from-a-local-file} 本教程以 CSV 文件为例,演示如何使用 [LakeSQL](/tidb-cloud-lake/guides/connect-using-lakesql.md) 从本地源将数据导入到 {{{ .lake }}}。 @@ -53,9 +53,9 @@ CREATE TABLE books ( ) ``` -### 步骤 2:将数据加载到表中 {#step-2-load-data-into-table} +### 步骤 2:将数据导入到表中 {#step-2-load-data-into-table} -使用以下命令发送加载数据请求: +使用以下命令发送导入数据请求: ```shell ❯ lakesql --query='INSERT INTO book_db.books from @_databend_load file_format=(type=csv)' --data=@books.csv @@ -111,7 +111,7 @@ try (FileInputStream fileInputStream = new FileInputStream(file); > 请确保你本地的 LakeSQL 可以直接连接到 {{{ .lake }}} 的后端对象存储。 > 如果不能,则需要指定 `--set presigned_url_disabled=1` 选项以禁用 presigned url 功能。 -### 步骤 3:验证已加载的数据 {#step-3-verify-loaded-data} +### 步骤 3:验证已导入的数据 {#step-3-verify-loaded-data} ```shell root@localhost:8000/book_db> SELECT * FROM books; @@ -125,9 +125,9 @@ root@localhost:8000/book_db> SELECT * FROM books; └───────────────────────────────────────────────────────────────────────┘ ``` -## 教程 2:加载到指定列 {#tutorial-2-load-into-specified-columns} +## 教程 2:导入到指定列 {#tutorial-2-load-into-specified-columns} -在 [教程 1](#tutorial-1-load-from-a-local-file) 中,你创建了一个包含三列的表,这三列与示例文件中的数据完全对应。你也可以将数据加载到表中的指定列,因此表不需要与待加载数据具有完全相同的列,只要指定的列能够匹配即可。本教程将介绍如何实现这一点。 +在 [教程 1](#tutorial-1-load-from-a-local-file) 中,你创建了一个包含三列的表,这三列与示例文件中的数据完全对应。你也可以将数据导入到表中的指定列,因此表不需要与待导入数据具有完全相同的列,只要指定的列能够匹配即可。本教程将介绍如何实现这一点。 ### 开始之前 {#before-you-begin} @@ -154,17 +154,17 @@ CREATE TABLE bookcomments ( ) ``` -### 步骤 2:将数据加载到表中 {#step-2-load-data-into-table} +### 步骤 2:将数据导入到表中 {#step-2-load-data-into-table} -使用以下命令发送加载数据请求: +使用以下命令发送导入数据请求: ```shell ❯ lakesql --query='INSERT INTO book_db.bookcomments(title,author,date) file_format=(type=csv)' --data=@books.csv ``` -请注意,上述 `query` 部分指定了列(title、author 和 date)以匹配加载的数据。 +请注意,上述 `query` 部分指定了列(title、author 和 date)以匹配导入的数据。 -### 步骤 3:验证已加载的数据 {#step-3-verify-loaded-data} +### 步骤 3:验证已导入的数据 {#step-3-verify-loaded-data} ```shell root@localhost:8000/book_db> SELECT * FROM bookcomments; diff --git a/tidb-cloud-lake/guides/load-from-remote-file.md b/tidb-cloud-lake/guides/load-from-remote-file.md index 50d09ed462abe..8ed51b63e90b2 100644 --- a/tidb-cloud-lake/guides/load-from-remote-file.md +++ b/tidb-cloud-lake/guides/load-from-remote-file.md @@ -1,19 +1,19 @@ --- -title: 从远程文件加载 -summary: 要将远程文件中的数据加载到 {{{ .lake }}} 中,可以使用 COPY INTO 命令。该命令允许你轻松地将来自多种来源(包括远程文件)的数据复制到 {{{ .lake }}} 中。使用 COPY INTO 时,你可以指定源文件位置、文件格式以及其他相关参数,以根据你的需求定制导入过程。请注意,文件必须采用 {{{ .lake }}} 支持的格式,否则无法导入数据。有关 {{{ .lake }}} 支持的文件格式的更多信息,请参见 Input & Output File Formats。 +title: 从远程文件导入数据 +summary: 要将远程文件中的数据导入到 {{{ .lake }}} 中,可以使用 COPY INTO 命令。该命令允许你轻松地将来自多种来源(包括远程文件)的数据复制到 {{{ .lake }}} 中。使用 COPY INTO 时,你可以指定源文件位置、文件格式以及其他相关参数,以根据你的需求定制导入过程。请注意,文件必须采用 {{{ .lake }}} 支持的格式,否则无法导入数据。有关 {{{ .lake }}} 支持的文件格式的更多信息,请参见 Input & Output File Formats。 --- -# 从远程文件加载 +# 从远程文件导入数据 -要将远程文件中的数据加载到 {{{ .lake }}} 中,可以使用 [COPY INTO](/tidb-cloud-lake/sql/copy-into-table.md) 命令。该命令允许你轻松地将来自多种来源(包括远程文件)的数据复制到 {{{ .lake }}} 中。使用 COPY INTO 时,你可以指定源文件位置、文件格式以及其他相关参数,以根据你的需求定制导入过程。请注意,文件必须采用 {{{ .lake }}} 支持的格式,否则无法导入数据。有关 {{{ .lake }}} 支持的文件格式的更多信息,请参见 [输入与输出文件格式](/tidb-cloud-lake/sql/input-output-file-formats.md)。 +要将远程文件中的数据导入到 {{{ .lake }}} 中,可以使用 [COPY INTO](/tidb-cloud-lake/sql/copy-into-table.md) 命令。该命令允许你轻松地将来自多种来源(包括远程文件)的数据复制到 {{{ .lake }}} 中。使用 COPY INTO 时,你可以指定源文件位置、文件格式以及其他相关参数,以根据你的需求定制导入过程。请注意,文件必须采用 {{{ .lake }}} 支持的格式,否则无法导入数据。有关 {{{ .lake }}} 支持的文件格式的更多信息,请参见 [输入与输出文件格式](/tidb-cloud-lake/sql/input-output-file-formats.md)。 -## 使用 Glob 模式加载 {#loading-with-glob-patterns} +## 使用 Glob 模式导入 {#loading-with-glob-patterns} -{{{ .lake }}} 支持通过 glob 模式从远程文件加载数据。这些模式可用于高效且灵活地从遵循特定命名约定的多个文件中导入数据。{{{ .lake }}} 支持以下 glob 模式: +{{{ .lake }}} 支持通过 glob 模式从远程文件导入数据。这些模式可用于高效且灵活地从遵循特定命名约定的多个文件中导入数据。{{{ .lake }}} 支持以下 glob 模式: ### 集合模式 {#set-pattern} -glob 表达式中的集合模式可用于匹配集合中的任意一个字符。例如,假设有名为 `data_file_a.csv`、`data_file_b.csv` 和 `data_file_c.csv` 的文件。你可以使用集合模式从这三个文件中加载数据: +glob 表达式中的集合模式可用于匹配集合中的任意一个字符。例如,假设有名为 `data_file_a.csv`、`data_file_b.csv` 和 `data_file_c.csv` 的文件。你可以使用集合模式从这三个文件中导入数据: ```sql COPY INTO your_table @@ -22,14 +22,14 @@ FROM 'https://your-remote-location/data_file_{a,b,c}.csv' ... ### 范围模式 {#range-pattern} -当处理名为 `data_file_001.csv`、`data_file_002.csv` 和 `data_file_003.csv` 的文件时,范围模式会很有用。你可以像下面这样使用范围模式从这一系列文件中加载数据: +当处理名为 `data_file_001.csv`、`data_file_002.csv` 和 `data_file_003.csv` 的文件时,范围模式会很有用。你可以像下面这样使用范围模式从这一系列文件中导入数据: ```sql COPY INTO your_table FROM 'https://your-remote-location/data_file_[001-003].csv' ... ``` -## 教程 - 从远程文件加载 {#tutorial-load-from-a-remote-file} +## 教程 - 从远程文件导入 {#tutorial-load-from-a-remote-file} 本教程演示如何将远程 CSV 文件中的数据导入到 {{{ .lake }}} 中。示例文件 [books.csv](https://lakesql-bin.tidbcloud.com/datasets/books.csv) 包含两条记录: @@ -49,7 +49,7 @@ CREATE TABLE books ); ``` -### 步骤 2. 将数据加载到表中 {#step-2-load-data-into-table} +### 步骤 2. 将数据导入到表中 {#step-2-load-data-into-table} ```sql COPY INTO books @@ -62,7 +62,7 @@ FILE_FORMAT = ( ); ``` -### 步骤 3. 验证已加载的数据 {#step-3-verify-loaded-data} +### 步骤 3. 验证已导入的数据 {#step-3-verify-loaded-data} ```sql SELECT * FROM books; diff --git a/tidb-cloud-lake/guides/load-from-stage.md b/tidb-cloud-lake/guides/load-from-stage.md index 116b891448f67..ec67e6354765a 100644 --- a/tidb-cloud-lake/guides/load-from-stage.md +++ b/tidb-cloud-lake/guides/load-from-stage.md @@ -1,15 +1,15 @@ --- -title: 从 Stage 加载 -summary: "{{{ .lake }}} 使你能够轻松地从上传到用户 stage 或内部/外部 stage 的文件中导入数据。为此,你可以先使用 LakeSQL 将文件上传到 stage,然后使用 COPY INTO 命令从 stage 中的文件加载数据。请注意,文件必须采用 {{{ .lake }}} 支持的格式,否则无法导入数据。有关 {{{ .lake }}} 支持的文件格式的更多信息,请参见 Input & Output File Formats。" +title: 从 Stage 导入数据 +summary: "{{{ .lake }}} 使你能够轻松地从上传到用户 stage 或内部/外部 stage 的文件中导入数据。为此,你可以先使用 LakeSQL 将文件上传到 stage,然后使用 COPY INTO 命令从 stage 中的文件导入数据。请注意,文件必须采用 {{{ .lake }}} 支持的格式,否则无法导入数据。有关 {{{ .lake }}} 支持的文件格式的更多信息,请参见 Input & Output File Formats。" --- -# 从 Stage 加载 +# 从 Stage 导入数据 -{{{ .lake }}} 使你能够轻松地从上传到用户 stage 或内部/外部 stage 的文件中导入数据。为此,你可以先使用 [LakeSQL](/tidb-cloud-lake/guides/connect-using-lakesql.md) 将文件上传到 stage,然后使用 [COPY INTO](/tidb-cloud-lake/sql/copy-into-table.md) 命令从 stage 中的文件加载数据。请注意,文件必须采用 {{{ .lake }}} 支持的格式,否则无法导入数据。有关 {{{ .lake }}} 支持的文件格式的更多信息,请参见 [输入与输出文件格式](/tidb-cloud-lake/sql/input-output-file-formats.md)。 +{{{ .lake }}} 使你能够轻松地从上传到用户 stage 或内部/外部 stage 的文件中导入数据。为此,你可以先使用 [LakeSQL](/tidb-cloud-lake/guides/connect-using-lakesql.md) 将文件上传到 stage,然后使用 [COPY INTO](/tidb-cloud-lake/sql/copy-into-table.md) 命令从 stage 中的文件导入数据。请注意,文件必须采用 {{{ .lake }}} 支持的格式,否则无法导入数据。有关 {{{ .lake }}} 支持的文件格式的更多信息,请参见 [输入与输出文件格式](/tidb-cloud-lake/sql/input-output-file-formats.md)。 ![image](/media/tidb-cloud-lake/load-data-from-stage.png) -以下教程提供了详细的分步指南,帮助你顺利完成从 stage 中的文件加载数据的过程。 +以下教程提供了详细的分步指南,帮助你顺利完成从 stage 中的文件导入数据的过程。 ## 开始之前 {#before-you-begin} @@ -34,9 +34,9 @@ CREATE TABLE books ); ``` -## 教程 1:从用户 stage 加载 {#tutorial-1-loading-from-user-stage} +## 教程 1:从用户 stage 导入 {#tutorial-1-loading-from-user-stage} -按照本教程将示例文件上传到用户 stage,并将 stage 中文件的数据加载到 {{{ .lake }}} 中。 +按照本教程将示例文件上传到用户 stage,并将 stage 中文件的数据导入到 {{{ .lake }}} 中。 ### 步骤 1. 上传示例文件 {#step-1-upload-sample-file} @@ -65,13 +65,13 @@ books.parquet| 998|"88432bf90aadb79073682988b39d461c"|2023-06-27 16:03:51.000 +0 ### 步骤 2. 将数据复制到表中 {#step-2-copy-data-into-table} -1. 使用 [COPY INTO](/tidb-cloud-lake/sql/copy-into-table.md) 命令将数据加载到目标表中: +1. 使用 [COPY INTO](/tidb-cloud-lake/sql/copy-into-table.md) 命令将数据导入到目标表中: ```sql COPY INTO books FROM @~ files=('books.parquet') FILE_FORMAT = (TYPE = PARQUET); ``` -2. 验证已加载的数据: +2. 验证已导入的数据: ```sql SELECT * FROM books; @@ -83,9 +83,9 @@ Transaction Processing |Jim Gray |1992| Readings in Database Systems|Michael Stonebraker|2004| ``` -## 教程 2:从内部 stage 加载 {#tutorial-2-loading-from-internal-stage} +## 教程 2:从内部 stage 导入 {#tutorial-2-loading-from-internal-stage} -按照本教程将示例文件上传到内部 stage,并将 stage 中文件的数据加载到 {{{ .lake }}} 中。 +按照本教程将示例文件上传到内部 stage,并将 stage 中文件的数据导入到 {{{ .lake }}} 中。 ### 步骤 1. 创建内部 stage {#step-1-create-an-internal-stage} @@ -138,7 +138,7 @@ books.parquet | 998|"88432bf90aadb79073682988b39d461c"|20 ### 步骤 3. 将数据复制到表中 {#step-3-copy-data-into-table} -1. 使用 [COPY INTO](/tidb-cloud-lake/sql/copy-into-table.md) 命令将数据加载到目标表中: +1. 使用 [COPY INTO](/tidb-cloud-lake/sql/copy-into-table.md) 命令将数据导入到目标表中: ```sql COPY INTO books @@ -149,7 +149,7 @@ books.parquet | 998|"88432bf90aadb79073682988b39d461c"|20 ); ``` -2. 验证已加载的数据: +2. 验证已导入的数据: ```sql SELECT * FROM books; @@ -161,9 +161,9 @@ Transaction Processing |Jim Gray |1992| Readings in Database Systems|Michael Stonebraker|2004| ``` -## 教程 3:从外部 stage 加载 {#tutorial-3-loading-from-external-stage} +## 教程 3:从外部 stage 导入 {#tutorial-3-loading-from-external-stage} -按照本教程将示例文件上传到外部 stage,并将 stage 中文件的数据加载到 {{{ .lake }}} 中。 +按照本教程将示例文件上传到外部 stage,并将 stage 中文件的数据导入到 {{{ .lake }}} 中。 ### 步骤 1. 创建外部 stage {#step-1-create-an-external-stage} @@ -216,7 +216,7 @@ Readings in Database Systems|Michael Stonebraker|2004| ### 第 3 步:将数据复制到表中 {#step-3-copy-data-into-table} -1. 使用 [COPY INTO](/tidb-cloud-lake/sql/copy-into-table.md) 命令将数据加载到目标表中: +1. 使用 [COPY INTO](/tidb-cloud-lake/sql/copy-into-table.md) 命令将数据导入到目标表中: ```sql COPY INTO books @@ -227,7 +227,7 @@ Readings in Database Systems|Michael Stonebraker|2004| ); ``` -2. 验证已加载的数据: +2. 验证已导入的数据: ```sql SELECT * FROM books; diff --git a/tidb-cloud-lake/guides/load-ndjson.md b/tidb-cloud-lake/guides/load-ndjson.md index 1096ad56e264e..fea55889f2c23 100644 --- a/tidb-cloud-lake/guides/load-ndjson.md +++ b/tidb-cloud-lake/guides/load-ndjson.md @@ -1,9 +1,9 @@ --- -title: 将 NDJSON 加载到 TiDB Cloud Lake +title: 将 NDJSON 数据导入到 TiDB Cloud Lake summary: NDJSON 构建于 JSON 之上,并且是 JSON 的严格子集。每一行都必须包含一个独立且完整的有效 JSON 对象。 --- -# 将 NDJSON 加载到 TiDB Cloud Lake +# 将 NDJSON 数据导入到 TiDB Cloud Lake ## 什么是 NDJSON? {#what-is-ndjson} @@ -16,9 +16,9 @@ NDJSON 构建于 JSON 之上,并且是 JSON 的严格子集。每一行都必 {"title":"Title_1","author":"Author_1"} ``` -## 加载 NDJSON 文件 {#loading-ndjson-file} +## 导入 NDJSON 文件 {#loading-ndjson-file} -加载 NDJSON 文件的通用语法如下: +导入 NDJSON 文件的通用语法如下: ```sql COPY INTO [.] @@ -33,7 +33,7 @@ FROM { userStage | internalStage | externalStage | externalLocation } - 有关更多 NDJSON 文件格式选项,请参见 [NDJSON 文件格式选项](/tidb-cloud-lake/sql/input-output-file-formats.md#ndjson-options)。 - 有关更多 COPY INTO table 选项,请参见 [COPY INTO table](/tidb-cloud-lake/sql/copy-into-table.md)。 -## 教程:从 NDJSON 文件加载数据 {#tutorial-loading-data-from-ndjson-files} +## 教程:从 NDJSON 文件导入数据 {#tutorial-loading-data-from-ndjson-files} ### 第 1 步:创建内部 stage {#step-1-create-an-internal-stage} diff --git a/tidb-cloud-lake/guides/load-orc.md b/tidb-cloud-lake/guides/load-orc.md index fa428580a8fba..cf6a68be3de90 100644 --- a/tidb-cloud-lake/guides/load-orc.md +++ b/tidb-cloud-lake/guides/load-orc.md @@ -1,17 +1,17 @@ --- -title: 将 ORC 加载到 TiDB Cloud Lake +title: 将 ORC 数据导入到 TiDB Cloud Lake summary: ORC(Optimized Row Columnar)是一种在数据分析中常用的列式存储格式。 --- -# 将 ORC 加载到 TiDB Cloud Lake +# 将 ORC 数据导入到 TiDB Cloud Lake ## 什么是 ORC? {#what-is-orc} ORC(Optimized Row Columnar)是一种在数据分析中常用的列式存储格式。 -## 加载 ORC 文件 {#loading-orc-file} +## 导入 ORC 文件 {#loading-orc-file} -加载 ORC 文件的通用语法如下: +导入 ORC 文件的通用语法如下: ```sql COPY INTO [.] @@ -23,9 +23,9 @@ FILE_FORMAT = (TYPE = ORC) - 有关更多 ORC 文件格式选项,请参阅 [ORC 文件格式选项](/tidb-cloud-lake/sql/input-output-file-formats.md#orc-options)。 - 有关更多 COPY INTO table 选项,请参阅 [COPY INTO table](/tidb-cloud-lake/sql/copy-into-table.md)。 -## 教程:从 ORC 文件加载数据 {#tutorial-loading-data-from-orc-files} +## 教程:从 ORC 文件导入数据 {#tutorial-loading-data-from-orc-files} -本教程演示如何将存储在 S3 存储桶中的 ORC 文件数据加载到 {{{ .lake }}} 表中。 +本教程演示如何将存储在 S3 存储桶中的 ORC 文件数据导入到 {{{ .lake }}} 表中。 ### Step 1. 创建外部 stage {#step-1-create-an-external-stage} diff --git a/tidb-cloud-lake/guides/load-parquet.md b/tidb-cloud-lake/guides/load-parquet.md index c12498448c4d5..818926307afd1 100644 --- a/tidb-cloud-lake/guides/load-parquet.md +++ b/tidb-cloud-lake/guides/load-parquet.md @@ -1,9 +1,9 @@ --- -title: 将 Parquet 加载到 TiDB Cloud Lake +title: 将 Parquet 数据导入到 TiDB Cloud Lake summary: Parquet 是一种在数据分析中常用的列式存储格式。它旨在支持复杂的数据结构,并且能够高效处理大型数据集。 --- -# 将 Parquet 加载到 TiDB Cloud Lake +# 将 Parquet 数据导入到 TiDB Cloud Lake ## 什么是 Parquet? {#what-is-parquet} @@ -11,9 +11,9 @@ Parquet 是一种在数据分析中常用的列式存储格式。它旨在支持 Parquet 文件对 {{{ .lake }}} 最友好。建议使用 Parquet 文件作为 {{{ .lake }}} 的数据源。 -## 加载 Parquet 文件 {#loading-parquet-file} +## 导入 Parquet 文件 {#loading-parquet-file} -加载 Parquet 文件的常用语法如下: +导入 Parquet 文件的常用语法如下: ```sql COPY INTO [.] @@ -25,7 +25,7 @@ FILE_FORMAT = (TYPE = PARQUET) - 有关更多 Parquet 文件格式选项,请参见 [Parquet 文件格式选项](/tidb-cloud-lake/sql/input-output-file-formats.md#parquet-options)。 - 有关更多 COPY INTO table 选项,请参见 [COPY INTO table](/tidb-cloud-lake/sql/copy-into-table.md)。 -## 教程:从 Parquet 文件加载数据 {#tutorial-loading-data-from-parquet-files} +## 教程:从 Parquet 文件导入数据 {#tutorial-loading-data-from-parquet-files} ### 步骤 1. 创建内部 stage {#step-1-create-an-internal-stage} diff --git a/tidb-cloud-lake/guides/load-semi-structured-data.md b/tidb-cloud-lake/guides/load-semi-structured-data.md index 250940403f0c1..876f33f7ae855 100644 --- a/tidb-cloud-lake/guides/load-semi-structured-data.md +++ b/tidb-cloud-lake/guides/load-semi-structured-data.md @@ -1,19 +1,19 @@ --- -title: 加载半结构化格式 -summary: 半结构化数据包含用于分隔语义元素的标签或标记,但不遵循严格的数据库结构。{{{ .lake }}} 使用 `COPY INTO` 命令高效加载这些格式,并可选择在加载过程中进行即时数据转换。 +title: 导入半结构化数据 +summary: 半结构化数据包含用于分隔语义元素的标签或标记,但不遵循严格的数据库结构。{{{ .lake }}} 使用 `COPY INTO` 命令高效导入这些格式,并可选择在导入过程中进行即时数据转换。 --- -# 加载半结构化数据 +# 导入半结构化数据 -半结构化数据包含用于分隔语义元素的标签或标记,但不遵循严格的数据库结构。{{{ .lake }}} 使用 `COPY INTO` 命令高效加载这些格式,并可选择在加载过程中进行即时数据转换。 +半结构化数据包含用于分隔语义元素的标签或标记,但不遵循严格的数据库结构。{{{ .lake }}} 使用 `COPY INTO` 命令高效导入这些格式,并可选择在导入过程中进行即时数据转换。 ## 支持的文件格式 {#supported-file-formats} | 文件格式 | 描述 | 指南 | | ----------- | ----------- | ----- | -| **Parquet** | 高效的列式存储格式 | [加载 Parquet](/tidb-cloud-lake/guides/load-parquet.md) | -| **CSV** | 逗号分隔值 | [加载 CSV](/tidb-cloud-lake/guides/load-csv.md) | -| **TSV** | 制表符分隔值 | [加载 TSV](/tidb-cloud-lake/guides/load-tsv.md) | -| **NDJSON** | 按换行符分隔的 JSON | [加载 NDJSON](/tidb-cloud-lake/guides/load-ndjson.md) | -| **ORC** | 优化的行列式格式 | [加载 ORC](/tidb-cloud-lake/guides/load-orc.md) | -| **Avro** | 带有模式定义的行式格式 | [加载 Avro](/tidb-cloud-lake/guides/load-avro.md) | \ No newline at end of file +| **Parquet** | 高效的列式存储格式 | [导入 Parquet](/tidb-cloud-lake/guides/load-parquet.md) | +| **CSV** | 逗号分隔值 | [导入 CSV](/tidb-cloud-lake/guides/load-csv.md) | +| **TSV** | 制表符分隔值 | [导入 TSV](/tidb-cloud-lake/guides/load-tsv.md) | +| **NDJSON** | 按换行符分隔的 JSON | [导入 NDJSON](/tidb-cloud-lake/guides/load-ndjson.md) | +| **ORC** | 优化的行列式格式 | [导入 ORC](/tidb-cloud-lake/guides/load-orc.md) | +| **Avro** | 带有模式定义的行式格式 | [导入 Avro](/tidb-cloud-lake/guides/load-avro.md) | \ No newline at end of file diff --git a/tidb-cloud-lake/guides/load-tsv.md b/tidb-cloud-lake/guides/load-tsv.md index e5132f7553867..5ceaa9f836ad8 100644 --- a/tidb-cloud-lake/guides/load-tsv.md +++ b/tidb-cloud-lake/guides/load-tsv.md @@ -1,9 +1,9 @@ --- -title: 将 TSV 加载到 TiDB Cloud Lake +title: 将 TSV 数据导入到 TiDB Cloud Lake summary: TSV(Tab Separated Values)是一种用于存储表格数据的简单文件格式,例如电子表格或数据库。TSV 文件格式与 CSV 非常相似,记录之间以换行符分隔,每个字段之间以制表符分隔。以下示例展示了一个包含两条记录的 TSV 文件。 --- -# 将 TSV 加载到 TiDB Cloud Lake +# 将 TSV 数据导入到 TiDB Cloud Lake ## 什么是 TSV? {#what-is-tsv} @@ -16,9 +16,9 @@ Title_0 Author_0 Title_1 Author_1 ``` -## 加载 TSV 文件 {#loading-tsv-file} +## 导入 TSV 文件 {#loading-tsv-file} -加载 TSV 文件的通用语法如下: +导入 TSV 文件的通用语法如下: ```sql COPY INTO [.] @@ -38,7 +38,7 @@ FROM { userStage | internalStage | externalStage | externalLocation } - 有关更多 TSV 文件格式选项,请参阅 [TSV 文件格式选项](/tidb-cloud-lake/sql/input-output-file-formats.md#tsv-options)。 - 有关更多 COPY INTO table 选项,请参阅 [COPY INTO table](/tidb-cloud-lake/sql/copy-into-table.md)。 -## 教程:从 TSV 文件加载数据 {#tutorial-loading-data-from-tsv-files} +## 教程:从 TSV 文件导入数据 {#tutorial-loading-data-from-tsv-files} ### 第 1 步:创建内部 stage {#step-1-create-an-internal-stage} diff --git a/tidb-cloud-lake/guides/load-with-dbt.md b/tidb-cloud-lake/guides/load-with-dbt.md index 943e835d9fd0d..ca21bbd3e51bb 100644 --- a/tidb-cloud-lake/guides/load-with-dbt.md +++ b/tidb-cloud-lake/guides/load-with-dbt.md @@ -1,13 +1,13 @@ --- -title: 使用 dbt 加载数据 +title: 使用 dbt 导入数据 summary: dbt 是一种转换工作流,可帮助你在产出更高质量结果的同时完成更多工作。你可以使用 dbt 将分析代码模块化并集中管理,同时为数据团队提供软件工程工作流中常见的防护机制。在安全部署到生产环境之前,你可以协作构建数据模型、进行版本管理,并对查询进行测试和文档化,同时获得监控和可观测性。 --- -# 使用 dbt 加载数据 +# 使用 dbt 导入数据 [dbt](https://www.getdbt.com/) 是一种转换工作流,可帮助你在产出更高质量结果的同时完成更多工作。你可以使用 dbt 将分析代码模块化并集中管理,同时为数据团队提供软件工程工作流中常见的防护机制。在安全部署到生产环境之前,你可以协作构建数据模型、进行版本管理,并对查询进行测试和文档化,同时获得监控和可观测性。 -[tidbcloudlake-dbt](https://github.com/tidbcloud/lake-dbt) 是由 {{{ .lake }}} 开发的一个插件,主要目标是实现 dbt 与 {{{ .lake }}} 的平滑集成。借助该插件,你可以使用 dbt 无缝执行数据建模、转换和清洗任务,并方便地将输出加载到 {{{ .lake }}} 中。下表展示了 tidbcloudlake-dbt 插件对 dbt 常用功能的支持级别: +[tidbcloudlake-dbt](https://github.com/tidbcloud/lake-dbt) 是由 {{{ .lake }}} 开发的一个插件,主要目标是实现 dbt 与 {{{ .lake }}} 的平滑集成。借助该插件,你可以使用 dbt 无缝执行数据建模、转换和清洗任务,并方便地将输出导入到 {{{ .lake }}} 中。下表展示了 tidbcloudlake-dbt 插件对 dbt 常用功能的支持级别: | 功能 | 支持? | |----------------------------- |----------- | diff --git a/tidb-cloud-lake/guides/stage-overview.md b/tidb-cloud-lake/guides/stage-overview.md index 2173380eac7ef..a2778345c7e4b 100644 --- a/tidb-cloud-lake/guides/stage-overview.md +++ b/tidb-cloud-lake/guides/stage-overview.md @@ -1,11 +1,11 @@ --- title: Stage 概述 -summary: stage 是一个用于存放数据文件的虚拟位置。stage 中的文件可以直接查询,也可以加载到表中。或者,你也可以将表中的数据以文件形式卸载到 stage 中。 +summary: stage 是一个用于存放数据文件的虚拟位置。stage 中的文件可以直接查询,也可以加载到表中。或者,你也可以将表中的数据以文件形式导出到 stage 中。 --- # Stage 概述 -在 {{{ .lake }}} 中,stage 是一个用于存放数据文件的虚拟位置。stage 中的文件可以直接查询,也可以加载到表中。或者,你也可以将表中的数据以文件形式卸载到 stage 中。使用 stage 的优势在于,你可以像访问计算机上的文件夹一样方便地对其进行数据加载和卸载。就像把文件放进文件夹时,你不一定需要知道它在硬盘上的确切位置一样,访问 stage 中的文件时,你只需要指定 stage 名称和文件名,例如 `@mystage/mydatafile.csv`,而不需要指定它在对象存储 bucket 中的具体位置。与计算机上的文件夹类似,你可以在 {{{ .lake }}} 中根据需要创建任意数量的 stage。不过需要注意的是,一个 stage 不能包含另一个 stage。每个 stage 都是独立运行的,不会包含其他 stage。 +在 {{{ .lake }}} 中,stage 是一个用于存放数据文件的虚拟位置。stage 中的文件可以直接查询,也可以加载到表中。或者,你也可以将表中的数据以文件形式导出到 stage 中。使用 stage 的优势在于,你可以像访问计算机上的文件夹一样方便地对其进行数据加载和导出。就像把文件放进文件夹时,你不一定需要知道它在硬盘上的确切位置一样,访问 stage 中的文件时,你只需要指定 stage 名称和文件名,例如 `@mystage/mydatafile.csv`,而不需要指定它在对象存储 bucket 中的具体位置。与计算机上的文件夹类似,你可以在 {{{ .lake }}} 中根据需要创建任意数量的 stage。不过需要注意的是,一个 stage 不能包含另一个 stage。每个 stage 都是独立运行的,不会包含其他 stage。 使用 stage 进行数据加载还可以提升数据文件上传、管理和筛选的效率。借助 [LakeSQL](/tidb-cloud-lake/guides/connect-using-lakesql.md),你可以通过一条命令轻松地将文件上传到 stage,或从 stage 下载文件。将数据加载到 {{{ .lake }}} 时,你可以在 COPY INTO 命令中直接指定 stage,使该命令能够从该 stage 中读取数据文件,甚至对其进行筛选。同样地,从 {{{ .lake }}} 导出数据时,你也可以将数据文件转储到 stage 中。 @@ -19,8 +19,8 @@ summary: stage 是一个用于存放数据文件的虚拟位置。stage 中的 | **创建方法** | 自动创建 | 通过以下方式手动创建:`CREATE STAGE stage_name;` | 通过以下方式手动创建:`CREATE STAGE stage_name` `'s3://bucket/prefix/'` `CONNECTION=(endpoint_url='x', ...);` | | **访问控制** | 仅用户本人可访问 | 可与其他用户或角色共享 | 可与其他用户或角色共享 | | **删除 Stage** | 不允许 | 删除 stage 并清空其中的文件 | 仅删除 stage;外部位置中的文件会被保留 | -| **文件上传** | 必须将文件上传到 {{{ .lake }}} | 必须将文件上传到 {{{ .lake }}} | 无需上传;用于从外部存储读取数据或将数据卸载到外部存储 | -| **使用场景** | 个人/私有数据 | 团队/共享数据 | 外部数据集成或数据卸载 | +| **文件上传** | 必须将文件上传到 {{{ .lake }}} | 必须将文件上传到 {{{ .lake }}} | 无需上传;用于从外部存储读取数据或将数据导出到外部存储 | +| **使用场景** | 个人/私有数据 | 团队/共享数据 | 外部数据集成或数据导出 | | **路径格式** | `@~/` | `@stage_name/` | `@stage_name/` | ### Internal Stage {#internal-stage} diff --git a/tidb-cloud-lake/guides/unload-csv-file.md b/tidb-cloud-lake/guides/unload-csv-file.md index 500435a9ea6ac..8d4c841e2c088 100644 --- a/tidb-cloud-lake/guides/unload-csv-file.md +++ b/tidb-cloud-lake/guides/unload-csv-file.md @@ -1,11 +1,11 @@ --- -title: 卸载 CSV 文件 -summary: 了解如何卸载 CSV 文件。 +title: 导出 CSV 文件 +summary: 了解如何导出 CSV 文件。 --- -# 卸载 CSV 文件 +# 导出 CSV 文件 -本页介绍如何使用 `COPY INTO` 命令卸载 CSV 文件。 +本页介绍如何使用 `COPY INTO` 命令导出 CSV 文件。 ## 语法 {#syntax} @@ -24,7 +24,7 @@ FILE_FORMAT = ( ``` - 更多 CSV 选项,请参见 [CSV 文件格式选项](/tidb-cloud-lake/sql/input-output-file-formats.md#csv-options) -- 卸载到多个文件时,请使用 [`MAX_FILE_SIZE` Copy 选项](/tidb-cloud-lake/sql/copy-into-location.md#copyoptions) +- 导出到多个文件时,请使用 [`MAX_FILE_SIZE` Copy 选项](/tidb-cloud-lake/sql/copy-into-location.md#copyoptions) - 有关该语法的更多详细信息,请参见 [COPY INTO location](/tidb-cloud-lake/sql/copy-into-location.md) ## 教程 {#tutorial} @@ -52,7 +52,7 @@ CREATE FILE FORMAT csv_unload_format SKIP_HEADER = 1; -- Only for loading, skip first line when querying if the CSV file has header ``` -### 步骤 3:卸载到 CSV 文件 {#step-3-unload-into-csv-file} +### 步骤 3:导出到 CSV 文件 {#step-3-unload-into-csv-file} ```sql COPY INTO @csv_unload_stage @@ -74,7 +74,7 @@ DETAILED_OUTPUT = true; └──────────────────────────────────────────────────────────────────────────────────────────┘ ``` -### 步骤 4:验证已卸载的 CSV 文件 {#step-4-verify-the-unloaded-csv-files} +### 步骤 4:验证已导出的 CSV 文件 {#step-4-verify-the-unloaded-csv-files} ```sql SELECT COUNT($1) diff --git a/tidb-cloud-lake/guides/unload-data.md b/tidb-cloud-lake/guides/unload-data.md index a43cbe5b806ff..1f49765c21838 100644 --- a/tidb-cloud-lake/guides/unload-data.md +++ b/tidb-cloud-lake/guides/unload-data.md @@ -1,9 +1,9 @@ --- -title: 从 TiDB Cloud Lake 卸载数据 -summary: 了解如何使用 `COPY INTO` 命令将 TiDB Cloud Lake 中的数据卸载为多种文件格式,并导出到不同的存储目标。 +title: 从 TiDB Cloud Lake 导出数据 +summary: 了解如何使用 `COPY INTO` 命令将 TiDB Cloud Lake 中的数据导出为多种文件格式,并导出到不同的存储目标。 --- -# 从 TiDB Cloud Lake 卸载数据 +# 从 TiDB Cloud Lake 导出数据 {{{ .lake }}} 的 `COPY INTO` 命令支持将数据导出为多种文件格式,并写入不同的存储位置,同时提供灵活的格式化选项。 @@ -11,11 +11,11 @@ summary: 了解如何使用 `COPY INTO` 命令将 TiDB Cloud Lake 中的数据 | 格式 | 示例语法 | 主要使用场景 | |--------|---------------|------------------| -| [**卸载 Parquet 文件**](/tidb-cloud-lake/guides/unload-parquet-file.md) | `FILE_FORMAT = (TYPE = PARQUET)` | 分析型工作负载,高效存储 | -| [**卸载 CSV 文件**](/tidb-cloud-lake/guides/unload-csv-file.md) | `FILE_FORMAT = (TYPE = CSV)` | 数据交换,通用兼容性 | -| [**卸载 TSV 文件**](/tidb-cloud-lake/guides/unload-tsv-file.md) | `FILE_FORMAT = (TYPE = TSV)` | 带逗号值的表格数据 | -| [**卸载 NDJSON 文件**](/tidb-cloud-lake/guides/unload-ndjson-file.md) | `FILE_FORMAT = (TYPE = NDJSON)` | 半结构化数据,灵活 schema | -| [**卸载 Lance 数据集**](/tidb-cloud-lake/guides/unload-lance-dataset.md) | `FILE_FORMAT = (TYPE = LANCE)` | 机器学习和向量工作负载,Arrow/Lance 使用方 | +| [**导出 Parquet 文件**](/tidb-cloud-lake/guides/unload-parquet-file.md) | `FILE_FORMAT = (TYPE = PARQUET)` | 分析型工作负载,高效存储 | +| [**导出 CSV 文件**](/tidb-cloud-lake/guides/unload-csv-file.md) | `FILE_FORMAT = (TYPE = CSV)` | 数据交换,通用兼容性 | +| [**导出 TSV 文件**](/tidb-cloud-lake/guides/unload-tsv-file.md) | `FILE_FORMAT = (TYPE = TSV)` | 带逗号值的表格数据 | +| [**导出 NDJSON 文件**](/tidb-cloud-lake/guides/unload-ndjson-file.md) | `FILE_FORMAT = (TYPE = NDJSON)` | 半结构化数据,灵活 schema | +| [**导出 Lance 数据集**](/tidb-cloud-lake/guides/unload-lance-dataset.md) | `FILE_FORMAT = (TYPE = LANCE)` | 机器学习和向量工作负载,Arrow/Lance 使用方 | ## 存储目标 {#storage-destinations} diff --git a/tidb-cloud-lake/guides/unload-lance-dataset.md b/tidb-cloud-lake/guides/unload-lance-dataset.md index c30a86f1287fc..963e4fc20b13d 100644 --- a/tidb-cloud-lake/guides/unload-lance-dataset.md +++ b/tidb-cloud-lake/guides/unload-lance-dataset.md @@ -1,11 +1,11 @@ --- -title: 卸载 Lance Dataset -summary: 了解如何卸载 Lance dataset。 +title: 导出 Lance Dataset +summary: 了解如何导出 Lance dataset。 --- -## 卸载 Lance Dataset {#unloading-lance-dataset} +## 导出 Lance Dataset {#unloading-lance-dataset} -Lance 导出面向以 dataset 为中心的使用者,例如机器学习和向量工作流。与 CSV、TSV、NDJSON 或 Parquet 卸载不同,{{{ .lake }}} 会写入一个 Lance **dataset directory**,其中包含 `.lance` 数据文件以及诸如 `_versions/` 之类的元信息。 +Lance 导出面向以 dataset 为中心的使用者,例如机器学习和向量工作流。与 CSV、TSV、NDJSON 或 Parquet 导出不同,{{{ .lake }}} 会写入一个 Lance **dataset directory**,其中包含 `.lance` 数据文件以及诸如 `_versions/` 之类的元信息。 语法: diff --git a/tidb-cloud-lake/guides/unload-ndjson-file.md b/tidb-cloud-lake/guides/unload-ndjson-file.md index dc8f0857dd087..a3943409bbf86 100644 --- a/tidb-cloud-lake/guides/unload-ndjson-file.md +++ b/tidb-cloud-lake/guides/unload-ndjson-file.md @@ -1,11 +1,11 @@ --- -title: 卸载 NDJSON 文件 -summary: 了解如何卸载 NDJSON 文件。 +title: 导出 NDJSON 文件 +summary: 了解如何导出 NDJSON 文件。 --- -# 卸载 NDJSON 文件 +# 导出 NDJSON 文件 -## 卸载 TSV 文件 {#unloading-tsv-file} +## 导出 TSV 文件 {#unloading-tsv-file} 语法: @@ -22,7 +22,7 @@ FILE_FORMAT = ( ``` - 更多 NDJSON 选项,请参见 [NDJSON 文件格式选项](/tidb-cloud-lake/sql/input-output-file-formats.md#ndjson-options) -- 使用 [`MAX_FILE_SIZE` Copy 选项](/tidb-cloud-lake/sql/copy-into-location.md#copyoptions) 可将数据卸载到多个文件中 +- 使用 [`MAX_FILE_SIZE` Copy 选项](/tidb-cloud-lake/sql/copy-into-location.md#copyoptions) 可将数据导出到多个文件中 - 有关该语法的更多详细信息,请参见 [COPY INTO location](/tidb-cloud-lake/sql/copy-into-location.md) ## 教程 {#tutorial} @@ -46,7 +46,7 @@ CREATE FILE FORMAT ndjson_unload_format COMPRESSION = gzip; -- Unload with gzip compression ``` -### 第 3 步:卸载到 NDJSON 文件 {#step-3-unload-into-ndjson-file} +### 第 3 步:导出到 NDJSON 文件 {#step-3-unload-into-ndjson-file} ```sql COPY INTO @ndjson_unload_stage @@ -68,7 +68,7 @@ DETAILED_OUTPUT = true; └─────────────────────────────────────────────────────────────────────────────────────────────┘ ``` -### 第 4 步:验证已卸载的 NDJSON 文件 {#step-4-verify-the-unloaded-ndjson-files} +### 第 4 步:验证已导出的 NDJSON 文件 {#step-4-verify-the-unloaded-ndjson-files} ```sql SELECT COUNT($1) diff --git a/tidb-cloud-lake/guides/unload-tsv-file.md b/tidb-cloud-lake/guides/unload-tsv-file.md index 026da125d524f..b36f4bc3fcbdd 100644 --- a/tidb-cloud-lake/guides/unload-tsv-file.md +++ b/tidb-cloud-lake/guides/unload-tsv-file.md @@ -1,11 +1,11 @@ --- -title: 卸载 TSV 文件 -summary: 了解如何卸载 TSV 文件。 +title: 导出 TSV 文件 +summary: 了解如何导出 TSV 文件。 --- -# 卸载 TSV 文件 +# 导出 TSV 文件 -## 卸载 TSV 文件 {#unloading-tsv-file} +## 导出 TSV 文件 {#unloading-tsv-file} 语法: @@ -24,7 +24,7 @@ FILE_FORMAT = ( ``` - 更多 TSV 选项,请参见 [TSV 文件格式选项](/tidb-cloud-lake/sql/input-output-file-formats.md#tsv-options) -- 卸载到多个文件时,使用 [`MAX_FILE_SIZE` Copy 选项](/tidb-cloud-lake/sql/copy-into-location.md#copyoptions) +- 导出到多个文件时,使用 [`MAX_FILE_SIZE` Copy 选项](/tidb-cloud-lake/sql/copy-into-location.md#copyoptions) - 有关该语法的更多详细信息,请参见 [COPY INTO location](/tidb-cloud-lake/sql/copy-into-location.md) ## 教程 {#tutorial} @@ -48,7 +48,7 @@ CREATE FILE FORMAT tsv_unload_format COMPRESSION = gzip; -- Unload with gzip compression ``` -### 第 3 步:卸载到 TSV 文件 {#step-3-unload-into-tsv-file} +### 第 3 步:导出到 TSV 文件 {#step-3-unload-into-tsv-file} ```sql COPY INTO @tsv_unload_stage @@ -70,7 +70,7 @@ DETAILED_OUTPUT = true; └──────────────────────────────────────────────────────────────────────────────────────────┘ ``` -### 第 4 步:验证已卸载的 TSV 文件 {#step-4-verify-the-unloaded-tsv-files} +### 第 4 步:验证已导出的 TSV 文件 {#step-4-verify-the-unloaded-tsv-files} ``` SELECT COUNT($1) diff --git a/tidb-cloud-lake/sql/alter-view.md b/tidb-cloud-lake/sql/alter-view.md index fa74546e28f6f..d312a7da8aa1a 100644 --- a/tidb-cloud-lake/sql/alter-view.md +++ b/tidb-cloud-lake/sql/alter-view.md @@ -3,7 +3,7 @@ title: ALTER VIEW summary: 使用另一个 QUERY 修改现有视图。 --- -# ALTER VIEW +# ALTER VIEW 为现有视图设置或移除标签。标签必须先通过 [CREATE TAG](/tidb-cloud-lake/sql/create-tag.md) 创建。完整说明请参见 [SET TAG / UNSET TAG](/tidb-cloud-lake/sql/set-tag.md)。 diff --git a/tidb-cloud-lake/sql/copy-into-location.md b/tidb-cloud-lake/sql/copy-into-location.md index 20b7a2466bd1e..a4c997f644b6b 100644 --- a/tidb-cloud-lake/sql/copy-into-location.md +++ b/tidb-cloud-lake/sql/copy-into-location.md @@ -1,11 +1,11 @@ --- title: COPY INTO -summary: COPY INTO 允许你将表或查询中的数据卸载到以下某个位置中的一个或多个文件。 +summary: COPY INTO 允许你将表或查询中的数据导出到以下某个位置中的一个或多个文件。 --- # `COPY INTO ` -COPY INTO 允许你将表或查询中的数据卸载到以下某个位置中的一个或多个文件: +COPY INTO 允许你将表或查询中的数据导出到以下某个位置中的一个或多个文件: - 用户 / Internal / External stage:参阅 [Stage 是什么?](/tidb-cloud-lake/guides/stage-overview.md) 了解 {{{ .lake }}} 中的 stage。 - 在存储服务中创建的存储桶或容器。 @@ -122,7 +122,7 @@ externalLocation ::= ### PARTITION BY {#partition-by} -指定一个表达式,用于将卸载的数据分区到不同的文件夹中。该表达式必须计算为 `STRING` 类型。表达式生成的每个不同值都会在目标路径中创建一个子文件夹,相应的行会被写入该子文件夹下的文件中。 +指定一个表达式,用于将导出的数据分区到不同的文件夹中。该表达式必须计算为 `STRING` 类型。表达式生成的每个不同值都会在目标路径中创建一个子文件夹,相应的行会被写入该子文件夹下的文件中。 - 如果表达式计算结果为 `NULL`,这些行会被放入一个特殊的 `_NULL_` 文件夹中。 - 该表达式可以引用源表或查询中的任意列。 @@ -149,7 +149,7 @@ copyOptions ::= | 参数 | 默认值 | 描述 | | ---------------- | ---------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -| SINGLE | false | 当为 `true` 时,该命令会将数据卸载到单个文件中。 | +| SINGLE | false | 当为 `true` 时,该命令会将数据导出到单个文件中。 | | MAX_FILE_SIZE | 67108864 bytes (64 MB) | 每个要创建文件的最大大小(以字节为单位)。当 `SINGLE` 为 false 时生效。 | | OVERWRITE | false | 当为 `true` 时,目标路径下同名的现有文件将被覆盖。注意:`OVERWRITE = true` 要求 `USE_RAW_PATH = true` 且 `INCLUDE_QUERY_ID = false`。 | | INCLUDE_QUERY_ID | true | 当为 `true` 时,导出文件名中会包含一个唯一的 UUID。 | @@ -164,25 +164,25 @@ copyOptions ::= ### DETAILED_OUTPUT {#detailed-output} -决定是否返回数据卸载的详细结果,默认值为 `false`。更多信息,请参阅 [输出](#output)。 +决定是否返回数据导出的详细结果,默认值为 `false`。更多信息,请参阅 [输出](#output)。 ## 输出 {#output} -COPY INTO 会通过以下列提供数据卸载结果的摘要: +COPY INTO 会通过以下列提供数据导出结果的摘要: | 列 | 描述 | | ------------- | --------------------------------------------------------------------------------------------- | -| rows_unloaded | 成功卸载到目标位置的行数。 | -| input_bytes | 卸载操作期间从源表读取的数据总大小(以字节为单位)。 | +| rows_unloaded | 成功导出到目标位置的行数。 | +| input_bytes | 导出操作期间从源表读取的数据总大小(以字节为单位)。 | | output_bytes | 写入目标位置的数据总大小(以字节为单位)。 | -当 `DETAILED_OUTPUT` 设置为 `true` 时,COPY INTO 会返回包含以下列的结果。这有助于定位已卸载的文件,尤其是在使用 `MAX_FILE_SIZE` 将卸载数据拆分为多个文件时。 +当 `DETAILED_OUTPUT` 设置为 `true` 时,COPY INTO 会返回包含以下列的结果。这有助于定位已导出的文件,尤其是在使用 `MAX_FILE_SIZE` 将导出数据拆分为多个文件时。 | 列 | 描述 | | --------- | -------------------------------------------------- | -| file_name | 卸载文件的名称。 | -| file_size | 卸载文件的大小(以字节为单位)。 | -| row_count | 卸载文件中包含的行数。 | +| file_name | 导出文件的名称。 | +| file_size | 导出文件的大小(以字节为单位)。 | +| row_count | 导出文件中包含的行数。 | ## 示例 {#examples} @@ -210,9 +210,9 @@ VALUES ('Halifax', 403390); ``` -### 示例 1:卸载到内部 stage {#example-1-unloading-to-internal-stage} +### 示例 1:导出到内部 stage {#example-1-unloading-to-internal-stage} -本示例将数据卸载到内部 stage: +本示例将数据导出到内部 stage: ```sql -- Create an internal stage @@ -238,9 +238,9 @@ LIST @my_internal_stage; └────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ ``` -### 示例 2:卸载到压缩文件 {#example-2-unloading-to-compressed-file} +### 示例 2:导出到压缩文件 {#example-2-unloading-to-compressed-file} -本示例将数据卸载到压缩文件中: +本示例将数据导出到压缩文件中: ```sql -- Create an internal stage @@ -290,9 +290,9 @@ LIST @my_internal_stage; └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ ``` -### 示例 3:卸载到存储桶 {#example-3-unloading-to-bucket} +### 示例 3:导出到存储桶 {#example-3-unloading-to-bucket} -本示例将数据卸载到 MinIO 上的存储桶中: +本示例将数据导出到 MinIO 上的存储桶中: ```sql -- Unload data from the table to a bucket named 'lake' on MinIO using the PARQUET file format @@ -313,9 +313,9 @@ COPY INTO 's3://lake' └────────────────────────────────────────────┘ ``` -### 示例 4:使用 PARTITION BY 卸载 {#example-4-unloading-with-partition-by} +### 示例 4:使用 PARTITION BY 导出 {#example-4-unloading-with-partition-by} -本示例根据派生表达式将数据卸载到分区目录中: +本示例根据派生表达式将数据导出到分区目录中: ```sql -- Create a sample table @@ -356,9 +356,9 @@ SELECT name FROM list_stage(location => '@partitioned_stage') ORDER BY name; 当分区表达式计算结果为 `NULL` 时,数据会被放入 `_NULL_` 目录中。每个唯一的分区值都会创建各自的子目录,其中包含对应的数据文件。 -### 示例 5:卸载到 Lance 数据集 {#example-5-unloading-to-a-lance-dataset} +### 示例 5:导出到 Lance 数据集 {#example-5-unloading-to-a-lance-dataset} -本示例将数据卸载为 Lance 数据集目录,而不是独立文件: +本示例将数据导出为 Lance 数据集目录,而不是独立文件: ```sql CREATE STAGE ml_stage; @@ -382,4 +382,4 @@ datasets/train/data/... .lance datasets/train/*.manifest ``` -有关完整的端到端示例(包括使用 Python `lance` 进行验证),请参见[卸载 Lance 数据集](/tidb-cloud-lake/guides/unload-lance-dataset.md)。 \ No newline at end of file +有关完整的端到端示例(包括使用 Python `lance` 进行验证),请参见[导出 Lance 数据集](/tidb-cloud-lake/guides/unload-lance-dataset.md)。 \ No newline at end of file diff --git a/tidb-cloud-lake/sql/ddl-view-overview.md b/tidb-cloud-lake/sql/ddl-view-overview.md index 38213c0750ec5..f1f1406f3c0d2 100644 --- a/tidb-cloud-lake/sql/ddl-view-overview.md +++ b/tidb-cloud-lake/sql/ddl-view-overview.md @@ -3,7 +3,7 @@ title: 视图 summary: 本页按功能分类,全面概述了 {{{ .lake }}} 中的视图操作,便于快速查阅。 --- -# 视图 +# 视图 本页按功能分类,全面概述了 {{{ .lake }}} 中的视图操作,便于快速查阅。 diff --git a/tidb-cloud-lake/sql/file-format.md b/tidb-cloud-lake/sql/file-format.md index 3a373abc0b752..a4a2d314dad14 100644 --- a/tidb-cloud-lake/sql/file-format.md +++ b/tidb-cloud-lake/sql/file-format.md @@ -11,7 +11,7 @@ summary: 本页按功能组织,全面概述了 {{{ .lake }}} 中的文件格 | Command | Description | |---------|-------------| -| [CREATE FILE FORMAT](/tidb-cloud-lake/sql/create-file-format.md) | 创建一个具名的文件格式对象,用于数据加载和卸载 | +| [CREATE FILE FORMAT](/tidb-cloud-lake/sql/create-file-format.md) | 创建一个具名的文件格式对象,用于数据加载和导出 | | [DROP FILE FORMAT](/tidb-cloud-lake/sql/drop-file-format.md) | 删除一个文件格式对象 | ## 文件格式信息 {#file-format-information} @@ -22,4 +22,4 @@ summary: 本页按功能组织,全面概述了 {{{ .lake }}} 中的文件格 > **注意:** > -> {{{ .lake }}} 中的文件格式定义了在数据加载操作期间应如何解析数据文件,或在数据卸载操作期间应如何设置数据文件的格式。它们提供了一种可复用的方式,用于指定文件类型、字段分隔符、压缩方式以及其他格式选项。 \ No newline at end of file +> {{{ .lake }}} 中的文件格式定义了在数据加载操作期间应如何解析数据文件,或在数据导出操作期间应如何设置数据文件的格式。它们提供了一种可复用的方式,用于指定文件类型、字段分隔符、压缩方式以及其他格式选项。 \ No newline at end of file diff --git a/tidb-cloud-lake/sql/input-output-file-formats.md b/tidb-cloud-lake/sql/input-output-file-formats.md index ae21fee93f63e..e7ae27dde5a0e 100644 --- a/tidb-cloud-lake/sql/input-output-file-formats.md +++ b/tidb-cloud-lake/sql/input-output-file-formats.md @@ -1,11 +1,11 @@ --- title: 输入与输出文件格式 -summary: "{{{ .lake }}} 支持多种文件格式,既可作为数据加载或卸载的源,也可作为目标。本文介绍支持的文件格式及其可用选项。" +summary: "{{{ .lake }}} 支持多种文件格式,既可作为数据加载或导出的源,也可作为目标。本文介绍支持的文件格式及其可用选项。" --- # 输入与输出文件格式 -{{{ .lake }}} 支持多种文件格式,既可作为数据加载或卸载的源,也可作为目标。本文介绍支持的文件格式及其可用选项。 +{{{ .lake }}} 支持多种文件格式,既可作为数据加载或导出的源,也可作为目标。本文介绍支持的文件格式及其可用选项。 ## 语法 {#syntax} @@ -33,8 +33,8 @@ summary: "{{{ .lake }}} 支持多种文件格式,既可作为数据加载或 > **注意:** > -> - {{{ .lake }}} 当前仅支持将 ORC 和 AVRO 用作源。暂不支持将数据卸载到 ORC 或 AVRO 文件中。 -> - {{{ .lake }}} 当前仅支持将 LANCE 用作卸载目标。`COPY INTO ` 写出的是 Lance 数据集目录,而不是单个独立文件,因此它适用于下游 Lance 工具链,而不是 stage-table 读取或 `COPY INTO `。 +> - {{{ .lake }}} 当前仅支持将 ORC 和 AVRO 用作源。暂不支持将数据导出到 ORC 或 AVRO 文件中。 +> - {{{ .lake }}} 当前仅支持将 LANCE 用作导出目标。`COPY INTO ` 写出的是 Lance 数据集目录,而不是单个独立文件,因此它适用于下游 Lance 工具链,而不是 stage-table 读取或 `COPY INTO
`。 > - 关于如何在 {{{ .lake }}} 中管理自定义文件格式,请参见 [文件格式](/tidb-cloud-lake/sql/file-format.md)。 ### formatTypeOptions {#formattypeoptions} @@ -395,7 +395,7 @@ parquet 文件内部块的压缩算法。 ## LANCE 选项 {#lance-options} -仅在使用 `COPY INTO ` 卸载时支持 `LANCE`。 +仅在使用 `COPY INTO ` 导出时支持 `LANCE`。 与 CSV、TSV、NDJSON 和 Parquet 相比,Lance 导出**不会**生成一个或多个可由 {{{ .lake }}} 直接读回的独立文件。相反,{{{ .lake }}} 会写入一个数据集目录,其中包含 `.lance` 数据文件以及诸如 `_versions/` 之类的数据集元信息。 @@ -413,7 +413,7 @@ FILE_FORMAT = (TYPE = LANCE) | 项目 | LANCE 行为 | |------|----------------| -| 支持的方向 | 仅卸载 | +| 支持的方向 | 仅导出 | | 在 {{{ .lake }}} stage 查询中读回 | 不支持 | | `COPY INTO
` | 不支持 | | 输出布局 | 包含 `.lance` 文件和元信息的数据集目录 | diff --git a/tidb-cloud-lake/sql/materialized-view.md b/tidb-cloud-lake/sql/materialized-view.md index 061a8339fe332..a1675ba6c1f7a 100644 --- a/tidb-cloud-lake/sql/materialized-view.md +++ b/tidb-cloud-lake/sql/materialized-view.md @@ -1,20 +1,20 @@ --- title: 物化视图 -summary: 物化视图会将查询结果以物理方式存储。在创建物化视图时,TiDB Cloud Lake 会对源表启用变更跟踪。 +summary: 物化视图会以物理方式存储查询结果。在创建物化视图时,TiDB Cloud Lake 会对源表启用变更跟踪。 --- -# 物化视图 +# 物化视图 -物化视图会将查询结果以物理方式存储。它定义在 `default` catalog 中的一张持久化 FUSE 表之上。在创建物化视图时,{{{ .lake }}} 会对源表启用变更跟踪。 +物化视图会以物理方式存储查询结果。它定义在 `default` catalog 中的一张持久化 FUSE 表之上。在创建物化视图时,{{{ .lake }}} 会对源表启用变更跟踪。 -与逻辑视图不同,物化视图可以通过显式刷新来持久化其源表中的变更。即使物理存储落后于源表,读也能保持一致。在第一次刷新之前,{{{ .lake }}} 会根据源表计算该定义。当源表存在尚未刷新的变更时,{{{ .lake }}} 会使用 **read fix**:在读取时,将已持久化的物化视图数据与所需的源表增量数据进行联合体,并对该增量应用视图定义。因此,查询会返回当前结果,而不是过期的物化数据。 +与逻辑视图不同,物化视图可以显式刷新,以持久化其源表中的变更。即使物理存储落后于源表,读也能保持一致。在首次刷新之前,{{{ .lake }}} 会根据源表计算该定义。当源表存在尚未刷新的变更时,{{{ .lake }}} 会使用 **read fix**:在读取时,将已持久化的物化视图数据与所需的增量源数据做联合体(并将视图定义应用到该增量上)。因此,查询返回的是当前结果,而不是过期的物化数据。 ## 限制 {#limitations} -- 定义必须是基于且仅基于一张基表的简单 `SELECT ... FROM ... [WHERE ...] [GROUP BY ...]` 查询。不支持 Join、子查询、集合操作以及非确定性函数。 -- 聚合仅支持 `sum`、`min`、`max`、`avg`、`count` 和 `approx_count_distinct`。不支持 `DISTINCT`、`FILTER`、窗口函数以及带排序的聚合形式。 -- 源必须是 `default` catalog 中的持久化 FUSE 基表。物化视图不能将其他视图或不同表引擎的表作为源。 -- 物化视图是只读的。请使用 `REFRESH MATERIALIZED VIEW` 来维护其内容;不支持 `INSERT`、`UPDATE`、`DELETE`、`TRUNCATE` 和普通的 `ALTER TABLE` 操作。 +- 定义必须是一个简单的 `SELECT ... FROM ... [WHERE ...] [GROUP BY ...]` 查询,并且只能基于一张基表。Join、子查询、集合操作以及非确定性函数均不支持。 +- 聚合仅支持 `sum`、`min`、`max`、`avg`、`count` 和 `approx_count_distinct`。不支持 `DISTINCT`、`FILTER`、窗口聚合以及有序聚合形式。 +- 源必须是 `default` catalog 中的持久化 FUSE 基表。物化视图不能使用另一个视图或不同的表引擎作为其源。 +- 物化视图是只读的。请使用 `REFRESH MATERIALIZED VIEW` 来维护其内容;不支持 `INSERT`、`UPDATE`、`DELETE`、`TRUNCATE` 以及普通的 `ALTER TABLE` 操作。 ## 创建物化视图 {#create-a-materialized-view} @@ -61,11 +61,11 @@ REFRESH MATERIALIZED VIEW paid_orders_by_customer; REFRESH MATERIALIZED VIEW [ . ][ . ] ``` -第一次刷新会将源数据物化。后续刷新会对仅追加的变更进行增量地处理。如果源表存在 `UPDATE`、`DELETE` 或 `TRUNCATE` 变更,{{{ .lake }}} 会根据当前源状态重建物化视图,以确保结果正确。 +首次刷新会将源数据物化。后续刷新会对仅追加变更进行增量地处理。如果源包含 `UPDATE`、`DELETE` 或 `TRUNCATE` 变更,{{{ .lake }}} 会基于当前源状态重建物化视图,以确保结果正确。 ## 修改物理布局 {#change-physical-layout} -对于支持的维护操作,请使用专用的 `ALTER MATERIALIZED VIEW` 语法: +对于受支持的维护操作,请使用专用的 `ALTER MATERIALIZED VIEW` 语法: ```sql ALTER MATERIALIZED VIEW CLUSTER BY ( , ... ); @@ -107,4 +107,4 @@ DROP MATERIALIZED VIEW IF EXISTS paid_orders_by_customer; ## 访问控制要求 {#access-control-requirements} -要查询、刷新、修改、查看或删除物化视图,用户需要对其源表具有 `SELECT` 权限(或具有提供等效访问能力的所有权)。权限会根据当前源表标识进行检查,因此源表重命名不会改变这一要求。 \ No newline at end of file +要查询、刷新、修改、查看或删除物化视图,用户需要对其源表具有 `SELECT` 权限(或具有提供等效访问权限的所有权)。权限会根据当前源表标识进行检查,因此源表重命名不会改变这一要求。 \ No newline at end of file diff --git a/tidb-cloud-lake/sql/read-file.md b/tidb-cloud-lake/sql/read-file.md index c8d30c9a86300..1d1cf79a65e3d 100644 --- a/tidb-cloud-lake/sql/read-file.md +++ b/tidb-cloud-lake/sql/read-file.md @@ -7,7 +7,7 @@ summary: 从 stage 读取文件并返回其原始字节。 从 stage 读取文件,并将其内容作为原始字节返回。 -当你希望将已暂存的资源(如文档、镜像或模型输入)打包到下游数据集中时,`READ_FILE` 非常有用,例如将训练数据卸载到 Lance 时。 +当你希望将已暂存的资源(如文档、镜像或模型输入)打包到下游数据集中时,`READ_FILE` 非常有用,例如将训练数据导出到 Lance 时。 ## 语法 {#syntax} diff --git a/tidb-cloud-lake/sql/stage.md b/tidb-cloud-lake/sql/stage.md index cdc9860150acd..fcb01671327da 100644 --- a/tidb-cloud-lake/sql/stage.md +++ b/tidb-cloud-lake/sql/stage.md @@ -37,4 +37,4 @@ summary: 本页按功能分类,全面概述了 {{{ .lake }}} 中的 stage 操 > **注意:** > -> {{{ .lake }}} 中的 stage 用作临时存储位置,用于保存你希望加载到表中或从表中卸载的数据文件。 \ No newline at end of file +> {{{ .lake }}} 中的 stage 用作临时存储位置,用于保存你希望加载到表中或从表中导出的数据文件。 \ No newline at end of file diff --git a/tidb-cloud-lake/sql/vector.md b/tidb-cloud-lake/sql/vector.md index 5cc95818843d7..276101a23099b 100644 --- a/tidb-cloud-lake/sql/vector.md +++ b/tidb-cloud-lake/sql/vector.md @@ -101,9 +101,9 @@ LIMIT 3; **说明**:该查询会找出与搜索向量最相似的 3 条 simple wiki。余弦距离值越小,表示相似度越高。 -## 卸载和加载向量数据 {#unloading-and-loading-vector-data} +## 导出和加载向量数据 {#unloading-and-loading-vector-data} -### 卸载向量数据 {#unloading-vector-data} +### 导出向量数据 {#unloading-vector-data} ```sql -- Export vector data to stage diff --git a/tidb-cloud/ai-feature-concepts.md b/tidb-cloud/ai-feature-concepts.md index 5661f8dadcdba..14c8765f2a2e6 100644 --- a/tidb-cloud/ai-feature-concepts.md +++ b/tidb-cloud/ai-feature-concepts.md @@ -23,7 +23,7 @@ Chat2Query 是集成在 SQL Editor 中的 AI 驱动功能,能够帮助用户 即使搜索词与数据库中的内容并不完全匹配,向量搜索也可以通过分析数据的语义,返回符合用户意图的结果。例如,全文搜索 “a swimming animal” 只会返回包含这些精确关键字的结果。而向量搜索则可以返回其他游泳动物(如鱼或鸭子)的结果,即使这些结果中并不包含完全相同的关键字。 -更多信息,参见 [Vector Search (PREVIEW) Overview](/ai/concepts/vector-search-overview.md)。 +更多信息,参见 [Vector Search (PREVIEW) Overview](/ai/guides/vector-search-overview.md)。 ## AI 集成 @@ -37,7 +37,7 @@ TiDB 官方支持多种主流 AI 框架,使你能够轻松将基于这些框 向量 embedding(也称为 embedding)是一组数字序列,用于在高维空间中表示现实世界的对象。它能够捕捉非结构化数据(如文档、图片、音频和视频)的语义和上下文信息。 -Embedding 模型是一种将数据转换为 [vector embeddings](/ai/concepts/vector-search-overview.md#vector-embedding) 的算法。选择合适的 embedding 模型对于确保语义搜索结果的准确性和相关性至关重要。 +Embedding 模型是一种将数据转换为 [vector embeddings](/ai/guides/vector-search-overview.md#vector-embedding) 的算法。选择合适的 embedding 模型对于确保语义搜索结果的准确性和相关性至关重要。 TiDB 向量搜索支持存储最多 16383 维的向量,能够满足大多数 embedding 模型的需求。对于非结构化文本数据,你可以在 [Massive Text Embedding Benchmark (MTEB) Leaderboard](https://huggingface.co/spaces/mteb/leaderboard) 上找到表现最优的文本 embedding 模型。 diff --git a/tidb-cloud/cli-reference.md b/tidb-cloud/cli-reference.md index 531abe16544e1..e5a21676ac416 100644 --- a/tidb-cloud/cli-reference.md +++ b/tidb-cloud/cli-reference.md @@ -1,15 +1,24 @@ --- -title: TiDB Cloud CLI 参考(PREVIEW) -summary: 提供 TiDB Cloud CLI 的概览。 +title: TiDB Cloud CLI (ticloud) 参考(PREVIEW) +summary: 提供适用于 TiDB Cloud Starter 和 Essential 的 ticloud CLI 概览。 --- -# TiDB Cloud CLI 参考(PREVIEW) +# TiDB Cloud CLI (ticloud) 参考(PREVIEW) > **Note:** > -> 目前,TiDB Cloud CLI 处于公开预览阶段,暂不适用于 TiDB Cloud Dedicated 集群。 +> TiDB Cloud 当前提供两个作用域不同的 CLI:[`ti`](https://github.com/tidbcloud/ti-cli) 和 [`ticloud`](https://github.com/tidbcloud/tidbcloud-cli)。 +> +> - 当 `ti` 支持你所需的操作时,建议将其用于 TiDB Cloud Starter 的新自动化工作流。你也可以使用 `ti` 管理 TiDB Cloud Filesystem。要开始使用,请参见 [TiDB Cloud CLI (`ti`) 快速开始](/ai/ti/ti-quick-start.md)。 +> - `ticloud` 仍然是适用于 TiDB Cloud Essential 以及 [`ti`](/ai/ti/ti-overview.md) 尚不支持的操作(例如数据导入、数据导出和审计日志操作)的 CLI。 +> +> 有关何时使用 `ti` 或 `ticloud` 的更多信息,请参见 [`ti` 与 `ticloud` 的区别](/ai/ti/ti-overview.md#differences-between-ti-and-ticloud)。 + +`ticloud` CLI 是一个命令行接口,让你可以通过终端操作 TiDB Cloud。它可管理 {{{ .starter }}} 和 Essential 实例、导入和导出数据,并支持其他 CLI 工作流。 -TiDB Cloud CLI 是一个命令行界面,允许你通过几行命令在终端中操作 TiDB Cloud。在 TiDB Cloud CLI 中,你可以轻松管理 {{{ .starter }}} 和 Essential 实例、向实例导入数据以及执行更多操作。 +> **Note:** +> +> `ticloud` CLI 当前处于公开预览阶段,不支持 TiDB Cloud Dedicated 集群。 ## 开始之前 diff --git a/tidb-cloud/connected-ai-chat-in-im.md b/tidb-cloud/connected-ai-chat-in-im.md index 0e1cee6a01d74..39d430d7664c9 100644 --- a/tidb-cloud/connected-ai-chat-in-im.md +++ b/tidb-cloud/connected-ai-chat-in-im.md @@ -5,7 +5,7 @@ summary: 介绍 IM(即时消息)中 AI 聊天的详细信息。 # Connected:IM 中的 AI 聊天 -由 PingCAP 提供支持的 IM(即时消息)中的 AI 聊天,是一项可以将 TiDB AI 助手聊天机器人邀请到指定 IM 频道中,用于初步技术支持和咨询的服务。该服务基于构建在 [TiDB Vector Search](/ai/concepts/vector-search-overview.md) 之上的 Graph RAG(检索增强生成)。 +由 PingCAP 提供支持的 IM(即时消息)中的 AI 聊天,是一项可以将 TiDB AI 助手聊天机器人邀请到指定 IM 频道中,用于初步技术支持和咨询的服务。该服务基于构建在 [TiDB Vector Search](/ai/guides/vector-search-overview.md) 之上的 Graph RAG(检索增强生成)。 ## 限制 diff --git a/tidb-cloud/get-started-with-cli.md b/tidb-cloud/get-started-with-cli.md index 5d52a4077a06e..7b34c2925bf78 100644 --- a/tidb-cloud/get-started-with-cli.md +++ b/tidb-cloud/get-started-with-cli.md @@ -1,11 +1,20 @@ --- -title: TiDB Cloud CLI 快速入门 -summary: 了解如何通过 TiDB Cloud CLI 管理 {{{ .starter }}} 和 Essential 实例。 +title: TiDB Cloud CLI (`ticloud`) 快速入门 +summary: 了解如何通过 ticloud CLI 管理 {{{ .starter }}} 和 Essential 实例。 --- -# TiDB Cloud CLI 快速入门 +# TiDB Cloud CLI (`ticloud`) 快速入门 -TiDB Cloud 提供了一个命令行界面(CLI)[`ticloud`](https://github.com/tidbcloud/tidbcloud-cli),你可以通过在终端输入几行命令与 TiDB Cloud 进行交互。例如,你可以使用 `ticloud` 轻松完成以下操作: +> **Note:** +> +> TiDB Cloud 目前提供两个作用域不同的 CLI:[`ti`](https://github.com/tidbcloud/ti-cli) 和 [`ticloud`](https://github.com/tidbcloud/tidbcloud-cli)。 +> +> - 当 `ti` 支持你所需的操作时,建议将其用于 TiDB Cloud Starter 的新自动化工作流。你也可以使用 `ti` 管理 TiDB Cloud Filesystem。要开始使用,请参见 [TiDB Cloud CLI (`ti`) Quick Start](/ai/ti/ti-quick-start.md)。 +> - `ticloud` 仍然是用于 TiDB Cloud Essential 以及 [`ti`](/ai/ti/ti-overview.md) 尚不支持的操作(例如数据导入、数据导出和审计日志操作)的 CLI。 +> +> 有关何时使用 `ti` 或 `ticloud` 的更多信息,请参见 [`ti` 与 `ticloud` 的区别](/ai/ti/ti-overview.md#differences-between-ti-and-ticloud)。 + +TiDB Cloud 提供了一个命令行界面(CLI)[`ticloud`](https://github.com/tidbcloud/tidbcloud-cli),你可以通过在终端输入几行命令与 TiDB Cloud Starter 和 Essential 进行交互。例如,你可以使用 `ticloud` 完成以下操作: - 创建、删除和列出你的 {{{ .starter }}} 或 Essential 实例。 - 向你的 {{{ .starter }}} 或 Essential 实例导入数据。 @@ -13,7 +22,7 @@ TiDB Cloud 提供了一个命令行界面(CLI)[`ticloud`](https://github.com > **Note:** > -> TiDB Cloud CLI 目前处于公开预览阶段。 +> `ticloud` CLI 目前处于公开预览阶段。 ## 开始之前 diff --git a/tidb-cloud/releases/release-notes-2024.md b/tidb-cloud/releases/release-notes-2024.md index c6fe541631fa5..882274be9e200 100644 --- a/tidb-cloud/releases/release-notes-2024.md +++ b/tidb-cloud/releases/release-notes-2024.md @@ -247,7 +247,7 @@ summary: 了解 2024 年 TiDB Cloud 的发布说明。 - Python 语言支持:[SQLAlchemy](/ai/integrations/vector-search-integrate-with-sqlalchemy.md)、[Peewee](/ai/integrations/vector-search-integrate-with-peewee.md) 和 [Django ORM](/ai/integrations/vector-search-integrate-with-django-orm.md)。 - 示例应用和教程:使用 [Python](/ai/quickstart-via-python.md) 或 [SQL](/ai/quickstart-via-sql.md) 对文档进行语义检索。 - 更多信息,参见 [向量检索(测试版)概述](/ai/concepts/vector-search-overview.md)。 + 更多信息,参见 [向量检索(测试版)概述](/ai/guides/vector-search-overview.md)。 - [TiDB Cloud Serverless](/tidb-cloud/select-cluster-tier.md#starter) 现为组织所有者提供每周邮件报告。 diff --git a/tidb-cloud/releases/tidb-cloud-release-notes.md b/tidb-cloud/releases/tidb-cloud-release-notes.md index 16c4ca63ac67b..1847d92d379e9 100644 --- a/tidb-cloud/releases/tidb-cloud-release-notes.md +++ b/tidb-cloud/releases/tidb-cloud-release-notes.md @@ -8,6 +8,18 @@ aliases: ['/zh/tidbcloud/supported-tidb-versions','/zh/tidbcloud/release-notes', 本页面列出了 [TiDB Cloud](https://www.pingcap.com/tidb-cloud/) 在 2026 年的发布说明。 +## 2026 年 9 月 15 日 {#september-15-2026} + +**常规变更** + +* **TiDB Cloud CLI** + + [TiDB Cloud CLI (`ti`)](https://github.com/tidbcloud/ti-cli) 现已进入公开预览版,可用于管理 [TiDB Cloud Starter](/tidb-cloud/select-cluster-tier.md#starter) 实例和 TiDB Cloud Filesystem。TiDB Cloud Filesystem 是一种无服务器分布式文件系统,专为 AI 代理和自动化工作负载而设计。 + + 你可以直接使用 `ti`,也可以让脚本、CI 作业和 AI 代理运行它,以自动化 TiDB Cloud 工作流。借助 `ti`,你可以创建和管理 TiDB Cloud Starter 实例、执行 SQL 语句,以及通过文件命令或支持的挂载创建和访问持久化的 Filesystem 工作区。默认 JSON 输出、JMESPath 输出查询,以及在适用命令上支持 `--wait` 和 `--dry-run`,可简化自动化流程。 + + 更多信息,请参见 [开始使用 TiDB Cloud CLI](/ai/ti/ti-quick-start.md) 和 [TiDB Cloud CLI (`ti`) 概览](/ai/ti/ti-overview.md)。 + ## 2026 年 9 月 8 日 {#september-8-2026} **控制台变更** diff --git a/tidb-cloud/select-cluster-tier.md b/tidb-cloud/select-cluster-tier.md index caf8456a80b2e..2d390b9dcddcb 100644 --- a/tidb-cloud/select-cluster-tier.md +++ b/tidb-cloud/select-cluster-tier.md @@ -150,7 +150,7 @@ TiDB Cloud Dedicated 适用于生产环境,具备跨可用区高可用性、 ## {{{ .lake }}} {#lake} -TiDB Cloud Lake 是一项面向分析工作负载的云原生数据仓库服务。它将计算与存储分离,使你能够独立配置 warehouse,随工作负载变化进行扩展,并以经济高效的方式将数据存储在对象存储中。 +[TiDB Cloud Lake](https://docs.pingcap.com/tidbcloudlake/) 是一项面向分析工作负载的云原生数据仓库服务。它将计算与存储分离,使你能够独立配置 warehouse,随工作负载变化进行扩展,并以经济高效的方式将数据存储在对象存储中。 TiDB Cloud Lake 在一个平台中支持 ANSI SQL、半结构化数据处理、向量搜索和面向 AI 的工作流。它专为希望获得托管式分析体验而无需自行运维底层基础设施的团队而设计。 diff --git a/tidb-cloud/tidb-cloud-billing.md b/tidb-cloud/tidb-cloud-billing.md index a2f10f7d45d58..60863ae895aff 100644 --- a/tidb-cloud/tidb-cloud-billing.md +++ b/tidb-cloud/tidb-cloud-billing.md @@ -115,7 +115,7 @@ TiDB Cloud 根据你所消耗的资源进行收费。 > **注意:** > - > Infrequent Access 目前对 {{{ .essential }}} 处于私有预览阶段,仅可按请求提供。 + > Infrequent Access 目前处于私有预览阶段,仅可按请求提供。 - **Columnar storage**:列存储由 **TiFlash** 引擎提供支持。 diff --git a/tidb-cloud/tidb-cloud-glossary.md b/tidb-cloud/tidb-cloud-glossary.md index 31c03bdbba01d..1b5f426d7ee4f 100644 --- a/tidb-cloud/tidb-cloud-glossary.md +++ b/tidb-cloud/tidb-cloud-glossary.md @@ -69,7 +69,7 @@ Data Service 中的 endpoint 是你可以自定义的 Web API,用于执行 SQL ### Full-text search -与关注语义相似度的 [Vector Search](/ai/concepts/vector-search-overview.md) 不同,全文检索允许你通过精确关键字检索文档。在 RAG(Retrieval-Augmented Generation)场景中,你可以将全文检索与向量检索结合使用,以提升检索质量。 +与关注语义相似度的 [Vector Search](/ai/guides/vector-search-overview.md) 不同,全文检索允许你通过精确关键字检索文档。在 RAG(Retrieval-Augmented Generation)场景中,你可以将全文检索与向量检索结合使用,以提升检索质量。 更多信息,参见 [Full-Text Search with SQL](/ai/guides/vector-search-full-text-search-sql.md) 和 [Full-Text Search with Python](/ai/guides/vector-search-full-text-search-python.md)。 @@ -232,7 +232,7 @@ TiDB X instance 是一种基于 [TiDB X architecture](/tidb-cloud/tidb-x-archite ### Vector search -[Vector search](/ai/concepts/vector-search-overview.md) 是一种以数据语义为核心、提供相关性结果的检索方法。与依赖精确关键字匹配和词频的传统全文检索不同,vector search 会将多种数据类型(如文本、图片或音频)转换为高维向量,并基于这些向量间的相似度进行查询。该方法能够捕捉数据的语义和上下文信息,更准确理解用户意图。即使检索词与数据库内容不完全匹配,vector search 也能通过分析数据语义,返回符合用户意图的结果。 +[Vector search](/ai/guides/vector-search-overview.md) 是一种以数据语义为核心、提供相关性结果的检索方法。与依赖精确关键字匹配和词频的传统全文检索不同,vector search 会将多种数据类型(如文本、图片或音频)转换为高维向量,并基于这些向量间的相似度进行查询。该方法能够捕捉数据的语义和上下文信息,更准确理解用户意图。即使检索词与数据库内容不完全匹配,vector search 也能通过分析数据语义,返回符合用户意图的结果。 ### Virtual Private Cloud diff --git a/tidb-cloud/tidb-cloud-intro.md b/tidb-cloud/tidb-cloud-intro.md index 4dc6c57ae54cb..205aa15d1df06 100644 --- a/tidb-cloud/tidb-cloud-intro.md +++ b/tidb-cloud/tidb-cloud-intro.md @@ -6,7 +6,9 @@ category: intro # 什么是 TiDB Cloud -[TiDB Cloud](https://www.pingcap.com/tidb-cloud/) 是一款完全托管的云原生数据库即服务(DBaaS),基于 [TiDB](https://docs.pingcap.com/tidb/stable/overview) —— 一个开源 HTAP (Hybrid Transactional and Analytical Processing) 数据库。TiDB Cloud 提供了一种简单的方式来部署和管理数据库,让你专注于应用程序开发,而无需关注数据库的复杂性。你可以在 Amazon Web Services (AWS)、Google Cloud、Microsoft Azure 和阿里云上创建 TiDB Cloud 资源(例如 {{{ .starter }}} 实例、{{{ .essential }}} 实例和 {{{ .dedicated }}} 集群),快速构建关键业务应用。You can create TiDB Cloud resources (such as {{{ .starter }}} instances, {{{ .essential }}} instances, and {{{ .dedicated }}} clusters) to quickly build mission-critical applications on Amazon Web Services (AWS), Google Cloud, and Microsoft Azure. +[TiDB Cloud](https://www.pingcap.com/tidb-cloud/) 是一款完全托管的云原生数据库即服务(DBaaS),基于 [TiDB](https://docs.pingcap.com/tidb/stable/overview) —— 一个开源 HTAP (Hybrid Transactional and Analytical Processing) 数据库。TiDB Cloud 提供了一种简单的方式来部署和管理数据库,让你专注于应用程序开发,而无需关注数据库的复杂性。 + +你可以在 Amazon Web Services (AWS)、Google Cloud、Microsoft Azure 和阿里云上创建 TiDB Cloud 资源(例如 Starter 实例、Essential 实例、Premium 实例和 Dedicated 集群),快速构建关键业务应用。You can create TiDB Cloud resources (such as Starter instances, Essential instances, Premium instances, and Dedicated clusters) to quickly build mission-critical applications on Amazon Web Services (AWS), Google Cloud, and Microsoft Azure. 此外,你还可以使用 TiDB Cloud Lake 构建一个面向分析负载的云原生数据仓库。 ![TiDB Cloud Overview](/media/tidb-cloud/tidb-cloud-overview.png) diff --git a/tidb-cloud/tidb-cloud-org-sso-authentication.md b/tidb-cloud/tidb-cloud-org-sso-authentication.md index 17c5688491e92..8630d2c29f30b 100644 --- a/tidb-cloud/tidb-cloud-org-sso-authentication.md +++ b/tidb-cloud/tidb-cloud-org-sso-authentication.md @@ -186,13 +186,20 @@ TiDB Cloud 为组织 SSO 提供以下认证方式: 在 TiDB Cloud 中,SAML 认证方式默认禁用。启用云组织 SSO 后,你可以按如下方式启用并配置 SAML 认证方式: -1. 从你的身份提供商获取 TiDB Cloud 组织 SSO 所需的以下信息: +1. 在 TiDB Cloud 控制台的 **Authentication** 页面,在 **Authentication Methods** 区域找到 SAML 行,然后点击 展开 SAML 方法详情。 +2. 在 **Authentication Method Details** 面板中,复制以下值。TiDB Cloud 会在你输入 **Sign on URL** 和 **Signing Certificate** 之前预先填充这些值: + + - **Entity ID**:这是 TiDB Cloud 的服务提供商(SP)实体 ID。 + - **Postback URL**:这是 SAML 端点(也称为 Assertion Consumer Service (ACS) URL 或 Reply URL),你的身份提供商会将 SAML 响应发送到该端点。 + +3. 在你的身份提供商中,使用上一步中的 **Entity ID** 和 **Postback URL** 为 TiDB Cloud 创建或配置一个 SAML 应用。如果你的身份提供商由 SSO 团队管理,请将这些值提供给该团队。 + + 然后,从你的身份提供商获取以下信息: - Sign on URL - Signing Certificate -2. 在 TiDB Cloud 控制台的 **Authentication** 页面,在 **Authentication Methods** 区域找到 SAML 行,然后点击 展开 SAML 方式详情。 -3. 在认证方式详情中,你可以配置以下内容: +4. 返回 TiDB Cloud 控制台中的 **Authentication Method Details** 面板,然后配置以下内容: - **Name** @@ -226,7 +233,7 @@ TiDB Cloud 为组织 SSO 提供以下认证方式: 在启用 **SCIM Provisioning Accounts** 之前,请先为要加入的用户添加并验证邮箱域名,并在 **Allowed Email Domains** 字段中进行配置。 -4. 点击 **Save**。 +5. 点击 **Activate**。 #### 配置 SCIM 自动化管理 diff --git a/tidb-cloud/tune-performance.md b/tidb-cloud/tune-performance.md index 3c7e09b86f7c1..5ca2329618358 100644 --- a/tidb-cloud/tune-performance.md +++ b/tidb-cloud/tune-performance.md @@ -46,6 +46,14 @@ TiDB Cloud 提供了 [慢查询](#slow-query) 和 [语句分析](#statement-anal 默认情况下,执行时间超过 300 毫秒的 SQL 查询会被视为慢查询。 + + +> **注意:** +> +> 你还可以为慢查询配置触发规则,以根据特定指标组合筛选目标语句。更多信息,请参见[为慢查询配置触发规则](/config-slow-query-trigger-rules.md)。 + + + 要在 {{{ .starter }}} 实例{{{ .essential }}} 实例{{{ .premium }}} 实例{{{ .dedicated }}} 集群 中查看慢查询,请执行以下步骤: 1. [进入 **Diagnosis** 页面](#view-the-diagnosis-page)。