Install
openclaw skills install @alexmayanjun-collab/db-table-compare对比两个数据库(MySQL vs ODPS)的表字段差异,生成 HiveSQL ALTER TABLE 和 DataX JSON 格式
openclaw skills install @alexmayanjun-collab/db-table-compare对比两个数据库的表结构差异,生成:
| 数据库 | 类型 | 连接方式 |
|---|---|---|
| TH DataWorks | ODPS/MaxCompute | SSH + odpscmd |
| PH DataWorks | ODPS/MaxCompute | SSH + odpscmd |
| TH FIN | MySQL | Python pymysql |
| TH FLE | MySQL | Python pymysql |
| TH SAP | MySQL | Python pymysql |
ALTER TABLE dwd_xxx_di
ADD COLUMNS (
field_name BIGINT COMMENT '注释'
);
get_json_object(values, '$.field_name') as field_name,
用户: "对比 th-fin 的 ka_accounts_receivable_detail_c3 和 dwd_fin_ka_accounts_receivable_detail_c3_di"
执行:
# 1. 查 MySQL 字段
python3 -c "
import pymysql
conn = pymysql.connect(host='core-dev-db.fex.pub', port=3306, user='th_dev_fin_rw', password='xxx', database='th_dev_fin')
cursor = conn.cursor()
cursor.execute('DESC ka_accounts_receivable_detail_c3')
for r in cursor.fetchall():
print(r[0], r[1])
conn.close()
"
# 2. 查 ODPS 字段
ssh datax "cd /mnt/www/addr/th_odpscmd/bin && echo 'DESC dwd_fin_ka_accounts_receivable_detail_c3_di;' | ./odpscmd"
返回:
自动识别数据源
dwd_, ads_, dim_ 前缀 → ODPS自动选择环境
字段匹配
DataX 数据摄取时,ODPS 字段从 JSON 提取:
| 用途 | 格式 |
|---|---|
| 读取 JSON | get_json_object(values, '$.字段名') |
| 别名 | as 字段名 |
| 完整行 | get_json_object(values, '$.字段名') as 字段名, |