写点什么

Lighting web 测试使用

  • 2023-08-11
    北京
  • 本文字数:1596 字

    阅读完需:约 5 分钟

作者: WalterWj 原文来源:https://tidb.net/blog/f5fea641

背景

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

API

lightning web 模式 api:


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

  2. GET /progress/task

手动测试

启用服务器模式

方式有如下几种:


  1. 在启动 tidb-lightning 时加上命令行参数 --server-mode

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

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=30002PARTITION 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 = 4201user = "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 方式是一个很好的接入方式。



发布于: 刚刚阅读数: 3
用户头像

TiDB 社区官网:https://tidb.net/ 2021-12-15 加入

TiDB 社区干货传送门是由 TiDB 社区中布道师组委会自发组织的 TiDB 社区优质内容对外宣布的栏目,旨在加深 TiDBer 之间的交流和学习。一起构建有爱、互助、共创共建的 TiDB 社区 https://tidb.net/

评论

发布
暂无评论
Lighting web 测试使用_迁移_TiDB 社区干货传送门_InfoQ写作社区