对比两个数据库的表结构差异,生成:
数据库类型连接方式TH DataWorksODPS/MaxComputeSSH + odpscmdPH DataWorksODPS/MaxComputeSSH + odpscmdTH FINMySQLPython pymysqlTH FLEMySQLPython pymysqlTH SAPMySQLPython pymysql
sql
ALTER TABLE dwd_xxx_di
ADD COLUMNS (
field_name BIGINT COMMENT '注释'
);
json
get_json_object(values, '$.field_name') as field_name,
用户: "对比 th-fin 的 ka_accounts_receivable_detail_c3 和 dwd_fin_ka_accounts_receivable_detail_c3_di"
执行:
bash
# 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_ 前缀 → ODPSDataX 数据摄取时,ODPS 字段从 JSON 提取:
用途格式读取 JSONget_json_object(values, '$.字段名')别名as 字段名完整行get_json_object(values, '$.字段名') as 字段名,