← 返回
未分类 Key

Db Table Compare

对比两个数据库(MySQL vs ODPS)的表字段差异,生成 HiveSQL ALTER TABLE 和 DataX JSON 格式
对比 MySQL 与 ODPS 表字段差异,生成 HiveSQL ALTER TABLE 与 DataX JSON
alexmayanjun-collab alexmayanjun-collab 来源
未分类 clawhub v1.0.0 1 版本 100000 Key: 需要
★ 0
Stars
📥 260
下载
💾 0
安装
1
版本
#latest

概述

数据库表字段对比技能

功能

对比两个数据库的表结构差异,生成:

  1. HiveSQL ALTER TABLE 语句
  2. DataX JSON 格式(get_json_object 提取字段)

触发词

  • "对比 [表名] 字段"
  • "表结构差异"
  • "MySQL vs ODPS [表名]"
  • "生成 alter table"
  • "生成 datax json"
  • "字段差异"

支持的数据库

数据库类型连接方式
------------------------
TH DataWorksODPS/MaxComputeSSH + odpscmd
PH DataWorksODPS/MaxComputeSSH + odpscmd
TH FINMySQLPython pymysql
TH FLEMySQLPython pymysql
TH SAPMySQLPython pymysql

执行流程

  1. 确定数据源 - 解析表名和环境
  2. 查询表结构 - DESC / SHOW CREATE TABLE
  3. 对比字段 - 找出差异
  4. 生成输出 - ALTER TABLE + DataX JSON

输出格式

1. ALTER TABLE(新增字段)

ALTER TABLE dwd_xxx_di 
ADD COLUMNS (
    field_name BIGINT COMMENT '注释'
);

2. DataX JSON(字段提取)

get_json_object(values, '$.field_name') as field_name,

使用示例

示例:对比 TH FIN 表

用户: "对比 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"

返回:

  • 字段对比表
  • 差异说明
  • ALTER TABLE 语句
  • DataX JSON 格式

智能处理

  1. 自动识别数据源
    • dwd_, ads_, dim_ 前缀 → ODPS
    • 其他 → MySQL
  1. 自动选择环境
    • TH 相关 → TH DataWorks / TH MySQL
    • PH 相关 → PH DataWorks / PH MySQL
    • fin → th_dev_fin
  1. 字段匹配
    • 不区分大小写

DataX JSON 格式说明

DataX 数据摄取时,ODPS 字段从 JSON 提取:

用途格式
------------
读取 JSONget_json_object(values, '$.字段名')
别名as 字段名
完整行get_json_object(values, '$.字段名') as 字段名,

注意事项

  1. 只读查询 - 只执行 DESC/SHOW CREATE TABLE
  2. 不执行 DDL - 只生成语句,用户确认后再执行
  3. 密码保护 - 密码不输出

更新日志

2026-04-21

  • ✅ 创建技能
  • ✅ 支持 TH FIN vs TH DataWorks 对比
  • ✅ 支持生成 ALTER TABLE
  • ✅ 支持生成 DataX JSON 格式(get_json_object)

版本历史

共 1 个版本

  • v1.0.0 当前
    2026-05-08 03:28 安全 安全

安全检测

腾讯云安全 (Keen)

安全,无风险
查看报告

腾讯云安全 (Sanbu)

安全,无风险
查看报告

🔗 相关推荐

dev-programming

CodeConductor.ai

larsonreever
AI驱动平台,提供快速全栈开发、智能体、工作流自动化及低代码AI集成的可扩展产品创建。
★ 78 📥 182,673
dev-programming

Github

steipete
使用 `gh` CLI 与 GitHub 交互,通过 `gh issue`、`gh pr`、`gh run` 和 `gh api` 管理议题、PR、CI 运行及高级查询。
★ 681 📥 330,101
it-ops-security

Dataworks Daily Monitor

alexmayanjun-collab
每日统计昨日 DataWorks 任务运行状态,汇总成功、失败、运行中数量并发送失败告警。
★ 0 📥 390