Lighting web 测试使用

网友投稿 650 2023-11-24

背景

如果不想使用 Lighting 命令行模式来导入数据,而是集中到自己的管理平台上,那么可以将 lighting 启动为一个服务,然后调用即可。

API

lightning web 模式 api:

POST /tasks,body 是配置文件,返回 json,字段 id 表示 task id。

GET /progress/task

手动测试

启用服务器模式

方式有如下几种:

在启动 TiDB-lightning 时加上命令行参数 --server-mode

tiup tidb-lightning --server-mode --status-addr :8289

在配置文件中设置 lightning.server-mode

[lightning] server-mode = true status-addr = :8289

Web Ui

可以看到,我们使用 Web ui 上传相关配置即可调用 lighting 来导入数据

其他测试信息

Schema

CREATE TABLE test.`orders_range` ( `id` int(11) NOT NULL AUTO_INCREMENT, `customer_surname` varchar(30) DEFAULT NULL, `store_id` int(11) DEFAULT NULL, `salesperson_id` int(11) DEFAULT NULL, `order_Date` date DEFAULT NULL, `note` varchar(500) DEFAULT NULL, PRIMARY KEY (`id`) /*T![clustered_index] CLUSTERED */ ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin AUTO_INCREMENT=30002 PARTITION BY RANGE (`id`) (PARTITION `p0` VALUES LESS THAN (5), PARTITION `p1` VALUES LESS THAN (10), PARTITION `p3` VALUES LESS THAN (15))

CSV

cat test.orders_range.csv  ✔  wangjun@vm172-16-201-210  16:37:07   1,"aa",1,1,"2022-11-07 13:56:11.000","test" 2,"bb",2,2,"2022-11-07 13:56:12.000","test2"

Lighting web 加载的 toml 配置

[lightning] # 日志 level = "info" file = "tidb-lightning.log" [tikv-importer] # 选择使用的 local 后端 backend = "tidb" # 设置排序的键值对的临时存放地址,目标路径需要是一个空目录 sorted-kv-dir = "/data/wangjun/tidb-tools/sorted-kv-dir" [mydumper] # 源数据目录。 data-source-dir = "/data/wangjun/tidb-tools/csv" [mydumper.csv] # 字段分隔符,支持一个或多个字符,默认值为 ,。如果数据中可能有逗号,建议源文件导出时分隔符使用非常见组合字符例如|+|。 separator = , # 引用定界符,设置为空表示字符串未加引号。 delimiter = " # 行尾定界字符,支持一个或多个字符。设置为空(默认值)表示 "\n"(换行)和 "\r\n" (回车+换行),均表示行尾。 terminator = "" # CSV 文件是否包含表头。 # 如果为 true,首行将会被跳过。 header = false # CSV 是否包含 NULL。 # 如果为 true,CSV 文件的任何列都不能解析为 NULL。 not-null = false # 如果 `not-null` 为 false(即 CSV 可以包含 NULL), # 为以下值的字段将会被解析为 NULL。 null = \N # 是否解析字段内的反斜线转义符。 backslash-escape = true # 是否移除以分隔符结束的行。 trim-last-separator = false # 配置通配符规则,默认规则会过滤 mysql、sys、INFORMATION_SCHEMA、PERFORMANCE_SCHEMA、METRICS_SCHEMA、INSPECTION_SCHEMA 系统数据库下的所有表 # 若不配置该项,导入系统表时会出现“找不到 schema”的异常 # filter = [*.*, !mysql.*, !sys.*, !INFORMATION_SCHEMA.*, !PERFORMANCE_SCHEMA.*, !METRICS_SCHEMA.*, !INSPECTION_SCHEMA.*] [tidb] # 目标集群的信息 host = "127.0.0.1" port = 4201 user = "root" password = "tidb@123" # 表架构信息在从 TiDB 的“状态端口”获取。 status-port = 10080 # 集群 pd 的地址 pd-addr = "127.0.0.1:2379"

API 方式调用

UI 方式成功后,按照 API 章节说明,我们尝试使用 Postman 调用来尝试使用。

使用方法如下图:

点击 send ,可以看到返回任务 ID,从 Web ui 也可以看到调用成功:

结论

如果在自家内网环境,不想登录服务器去启动 lighting,而是兼容到自家的调度平台,Lightning web 方式是一个很好的接入方式。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:什么是实时分析?
下一篇:Placement Rules in SQL 使用案例
相关文章