分享知识,分享快乐

0%

tidb 批量导入历史数据

tidb 批量导入历史数据

cdh192-150:/opt/script/tidb-import-data.bash

1
2
3
4
5
6
7
8
9
10
11
12
13
#!/bin/bash

for i in {4..9};
do
if [ ! -d "/dfs/data3/data-source-dir" ]; then
mkdir /dfs/data3/data-source-dir
chmod 777 /dfs/data3/data-source-dir
sudo -u hdfs hadoop fs -get hdfs://172.20.192.36:8020/user/hive/warehouse/test.db/history_ethereum/part-$i* /dfs/data3/data-source-dir/
fi
source /home/tidb/.bash_profile
tiup tidb-lightning -config /home/tidb/tidb-lightning.toml
rm -rf /dfs/data3/data-source-dir
done

vim tidb-lightning.toml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
[lightning]
# 日志
level = "info"
file = "tidb-lightning.log"
max-error = 10000

[tikv-importer]
incremental-import = true
# "local":默认使用该模式,适用于 TiB 级以上大数据量,但导入期间下游 TiDB 无法对外提供服务。
backend = "local"
# # "tidb":TiB 级以下数据量也可以采用 `tidb` 后端模式,下游 TiDB 可正常提供服务。关于导入模式更多信息请参阅:https://docs.pingcap.com/zh/tidb/stable/tidb-lightning-overview#tidb-lightning-整体架构
# 设置排序的键值对的临时存放地址,目标路径必须是一个空目录,目录空间须大于待导入数据集的大小。建议设为与 `data-source-dir` 不同的磁盘目录并使用闪存介质,独占 I/O 会获得更好的导入性能。
sorted-kv-dir = "/dfs/data2/sorted-kv-dir"

[mydumper]
# 源数据目录
data-source-dir = "/dfs/data3/data-source-dir" # 本地或 S3 路径,例如:'s3://my-bucket/sql-backup'

[[mydumper.files]]
# 解析 AWS Aurora parquet 文件所需的表达式 part-00000-34e0bdac-df83-46a1-a198-b5c51a745cc2-c000.snappy.parquet
pattern = '.*.snappy.parquet'
schema = 'ADDRESS'
table = 'T_HISTORY_TRANS_ETHEREUM'
type = 'parquet'

[tidb]
# 目标集群的信息
host = "172.20.192.115" # 例如:172.16.32.1
port = 4000 # 例如:4000
user = "root" # 例如:"root"
password = "" # 例如:"rootroot"
status-port = 10080 # 导入过程 Lightning 需要在从 TiDB 的“状态端口”获取表结构信息,例如:10080
pd-addr = "172.20.192.115:2379" # 集群 PD 的地址,Lightning 通过 PD 获取部分信息,例如 172.16.31.3:2379。当 backend = "local" 时 status-port 和 pd-addr 必须正确填写,否则导入将出现异常。

[checkpoint]
enable = true
driver = "file"