docs: rewrite the csv documentation after optimization

This commit is contained in:
tjuzyp 2024-11-06 19:41:31 +08:00
parent 08603e5d11
commit 6a69f80326
15 changed files with 70 additions and 33 deletions

View File

@ -2,86 +2,123 @@
title: "CSV" title: "CSV"
sidebar_label: "CSV" sidebar_label: "CSV"
--- ---
本节讲述如何通过 Explorer 界面创建数据迁移任务, 从 CSV 迁移数据到当前 TDengine 集群。 本节讲述如何通过 Explorer 界面创建数据迁移任务从 CSV 迁移数据到当前 TDengine 集群。
## 功能概述 ## 功能概述
导入一个或多个 CSV 文件数据到 TDengine。 导入一个或多个 CSV 文件数据到 TDengine。
## 创建任务 ## 创建任务
### 1. 新增数据源 ### 1. 新增数据源
在数据写入页面中,点击 **+新增数据源** 按钮,进入新增数据源页面。 在数据写入任务列表页面中,点击 **+新建任务** 按钮,进入新建任务页面。
![csv-01.png](./csv-01.png) ![csv-01.png](./csv-01.png)
### 2. 配置基本信息 ### 2. 配置基本信息
**名称** 中输入任务名称“test_csv” **名称** 中输入任务名称“test_csv”
**类型** 下拉列表中选择 **CSV** **类型** 下拉列表中选择 **CSV**
**目标数据库** 下拉列表中选择一个目标数据库,也可以先点击右侧的 **+创建数据库** 按钮 **目标数据库** 下拉列表中选择一个目标数据库,也可以先点击右侧的 **+创建数据库** 按钮
![csv-02.png](./csv-02.png) ![csv-02.png](./csv-02.png)
### 3. 配置 CSV 选项 ### 3. 配置 CSV 选项
**包含表头** 区域点击开启或关闭,如果包含表头,则第一行将被视为列信息。 **包含表头** 区域点击开启或关闭,如果包含表头,则 CSV 文件内容第一行将被视为列信息。
**忽略前 N 行** 区域填写 N表示忽略 CSV 文件的前 N 行。 **忽略前 N 行** 区域填写数字 N表示忽略 CSV 文件的前 N 行。
**字段分隔符** 区域进行选择CSV 字段之间的分隔符,默认是 “,” **字段分隔符** 区域选择 CSV 字段分隔符,用于分隔行内容为多个字段,默认是 `,`
**字段引用符** 区域进行选择,当 CSV 字段中包含分隔符或换行符时,用于包围字段内容,以确保整个字段被正确识别,默认是 "“" **字段引用符** 区域选择 CSV 字段引用符,当 CSV 字段中包含分隔符或换行符时,用于包围字段内容,以确保整个字段被正确识别,默认是 `"`
**注释前缀符** 区域进行选择,当 CSV 文件中某行以此处指定的字符开头,则忽略该行默认是 “#” **注释前缀符** 区域选择 CSV 行注释前缀符,当 CSV 文件中某行以此处指定的字符开头,则忽略该行,默认是 `#`
![csv-03.png](./csv-03.png) ![csv-03.png](./csv-03.png)
### 4. 配置解析 CSV 文件 ### 4. 配置解析 CSV 文件
在本地上传 CSV 文件例如test-json.csv之后会使用这条示例 csv 文件来配置提取和过滤条件。
#### 4.1 解析 #### 4.1 配置数据源
点击 **选取文件** 后,选择 test-json.csv点击 **解析** 预览识别的列。 包含“上传 CSV 文件”与“监听文件目录”两种方式,“上传 CSV 文件”是指将本地文件通过浏览器上传到 taosx 所在服务器作为数据源,“监听文件目录”是指配置一个 taosx 所在服务器的绝对路径作为数据源,以下将分别进行介绍:
##### 4.1.1 上传 CSV 文件
在“上传 CSV 文件”标签页中:
点击 **选取文件** 按钮,选取一个或多个本地文件,上传到服务器作为数据源。
**保留已处理文件** 区域点击开启或关闭,如果开启,则文件被处理完成后仍会保留在服务器中,如果关闭,则将被删除。
![csv-04.png](./csv-04.png) ![csv-04.png](./csv-04.png)
**预览解析结果** ##### 4.1.2 监听文件目录
在“监听文件目录”标签页中:
**文件监听目录** 中输入一个 taosx 所在服务器的绝对路径,路径中包含的文件及子目录文件将作为数据源。
**匹配模式** 中输入一个正则表达式,用于筛选过滤目录中的文件。
**监听新文件** 区域点击开启或关闭,如果开启,则任务永不停止,且持续处理目录中新增的文件,如果关闭,则不处理新增文件,且初始文件处理结束后任务变为完成状态。
**监听间隔** 中输入一个数字,用于配置监听新文件的时间间隔。
**文件处理顺序** 区域选择“正序”或“倒序”,用于指定文件列表的处理先后顺序,“正序”将按照文件名的字典序正序处理,“倒序”将按照文件名的字典序倒序处理,与此同时,程序总是保持先处理文件后处理同级子目录的顺序。
![csv-05.png](./csv-05.png) ![csv-05.png](./csv-05.png)
#### 4.2 字段拆分 #### 4.2 解析
**从列中提取或拆分** 中填写从消息体中提取或拆分的字段,例如:将 message 字段拆分成 `text_0``text_1` 这2个字段选择 split 提取器seperator 填写 -, number 填写2。 上传文件或配置监听目录后,点击解析按钮,页面将获取文件中的示例数据,同时得到识别的列与示例数据解析结果:
点击 **删除**,可以删除当前提取规则。
点击 **新增**,可以添加更多提取规则。
![csv-06.png](./csv-06.png) ![csv-05.png](./csv-06.png)
点击 **放大镜图标** 可预览提取或拆分结果。 #### 4.2 从列中提取或拆分
**从列中提取或拆分** 中填写从消息体中提取或拆分规则,例如:将 `desc` 字段拆分为 `desc_0``desc_1` 两个字段,可以选择 split 规则separator 填写 `,`number 填写 2 即可。
点击 **删除** 可以删除当前提取规则。
点击 **预览** 可以预览提取或拆分结果。
点击 **新增提取/拆分** 可以添加更多提取规则。
![csv-07.png](./csv-07.png) ![csv-07.png](./csv-07.png)
<!-- 在 **过滤** 中,填写过滤条件,例如:填写 `id != 1`,则只有 id 不为 1 的数据才会被写入 TDengine。 #### 4.3 过滤
点击 **删除**,可以删除当前过滤规则。
**过滤** 中填写过滤条件,例如:填写 `id != "1"`,则只有 id 不为 1 的数据才会被处理。
点击 **删除** 可以删除当前过滤规则。
点击 **预览** 可以预览过滤结果。
点击 **新增过滤** 可以添加更多过滤规则。
![csv-08.png](./csv-08.png) ![csv-08.png](./csv-08.png)
点击 **放大镜图标** 可查看预览过滤结果。 #### 4.4 映射
![csv-09.png](./csv-09.png) -->
#### 4.3 表映射
**目标超级表** 的下拉列表中选择一个目标超级表,也可以先点击右侧的 **创建超级表** 按钮 **目标超级表** 的下拉列表中选择一个目标超级表,也可以先点击右侧的 **创建超级表** 按钮
**映射** 中,填写目标超级表中的子表名称,例如:`t_${groupid}`。 在映射规则中,填写目标超级表中的子表名称,例如:`csv_meter_${id}`,同时配置映射到超级表的列。
![csv-10.png](./csv-10.png) 点击 **预览** 可以预览映射的结果。
点击 **预览**,可以预览映射的结果。
![csv-11.png](./csv-11.png)
![csv-09.png](./csv-09.png)
### 5. 创建完成 ### 5. 创建完成
点击 **提交** 按钮,完成创建 CSV 到 TDengine 的数据同步任务,回到**数据源列表**页面可查看任务执行情况。 点击 **提交** 按钮,完成创建 CSV 到 TDengine 的数据同步任务,回到数据写入任务列表页面,可查看任务执行情况,也可以进行任务的“启动/停止”操作与“查看/编辑/删除/复制”操作。
![csv-10.png](./csv-10.png)
### 6. 查看运行指标
点击 **查看** 按钮,查看任务的运行指标,同时也可以查看任务中所有文件的处理情况。
![csv-11.png](./csv-11.png)
![csv-12.png](./csv-12.png)
![csv-13.png](./csv-13.png)

Binary file not shown.

Before

Width:  |  Height:  |  Size: 36 KiB

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 8.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 79 KiB

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 57 KiB

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 29 KiB

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 31 KiB

After

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 80 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 42 KiB

After

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 31 KiB

After

Width:  |  Height:  |  Size: 177 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 50 KiB

After

Width:  |  Height:  |  Size: 192 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 363 KiB

After

Width:  |  Height:  |  Size: 71 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 118 KiB