'commit'
This commit is contained in:
42
DataX/scheme/README.md
Normal file
42
DataX/scheme/README.md
Normal file
@@ -0,0 +1,42 @@
|
||||
# 表结构生成工具
|
||||
|
||||
该工具用于连接 MySQL 数据库,自动获取表结构元数据,并生成适用于 MySQL 和 Doris 的 `CREATE TABLE` 语句。
|
||||
|
||||
## 功能特点
|
||||
1. **元数据提取**:从 `information_schema` 获取字段名、类型、长度、是否为空、默认值及注释。
|
||||
2. **MySQL DDL 生成**:生成标准的 MySQL 建表语句。
|
||||
3. **Doris DDL 生成**:
|
||||
- 自动映射 MySQL 类型到 Doris 类型(如 `text` -> `string`)。
|
||||
- 使用 **Unique Key** 模型(支持幂等写入/覆盖更新)。
|
||||
- 默认配置为单副本(`replication_num = 1`),适用于单机部署。
|
||||
- 默认设置 1 个分桶(`BUCKETS 1`)。
|
||||
|
||||
## 使用方法
|
||||
|
||||
### 1. 配置数据库
|
||||
编辑 `generate_schema.py` 文件开头的 `DB_CONFIG` 变量:
|
||||
```python
|
||||
DB_CONFIG = {
|
||||
"host": "your_host",
|
||||
"port": 3306,
|
||||
"user": "your_user",
|
||||
"password": "your_password",
|
||||
"database": "your_db",
|
||||
"charset": "utf8mb4"
|
||||
}
|
||||
```
|
||||
|
||||
### 2. 运行脚本
|
||||
- **自动处理**:如果不传参数,脚本将自动读取 `../json/` 目录下的所有 `.json` 文件名作为表名进行批量处理。
|
||||
```bash
|
||||
python generate_schema.py
|
||||
```
|
||||
- **指定表名**:也可以手动传入需要生成结构的表名(支持多个):
|
||||
```bash
|
||||
python generate_schema.py 表名1 [表名2] ...
|
||||
```
|
||||
|
||||
### 3. 查看输出
|
||||
生成的 SQL 文件将存放在 `output/` 目录下:
|
||||
- `表名_mysql.sql`: MySQL 建表语句
|
||||
- `表名_doris.sql`: Doris 建表语句
|
||||
Reference in New Issue
Block a user