SuperAPI AI 工具集

huawei-cloud-dws-migration-teradata-to-dws

数据与分析

查看项目

更新于 10-15 22:14

技能介绍

本技能用于把 Teradata 数据库迁移到华为云 DWS(数据仓库服务),核心规则是源端 Teradata 全程只读、遵循官方 Teradata→DWS 数据类型映射、先迁表结构(DDL)后迁表数据(DML)。

主要流程:Step 0 迁移前预检(网络、源端负载、目标端资源、时间与风险预估);Step 1 表结构迁移(提取 DDL、类型映射、PPI 分区转换、重复表确认后建表);Step 2 表数据迁移(CSV/OBS 导出、COPY 或 OBS 外表并行导入、进度显示);Step 2.5 视图/宏/存储过程迁移;Step 3 数据校验(表数、行数、列、聚合、抽样、TIMESTAMP 精确值比对);Step 3.5 功能性校验(宏/存储过程/视图调用与结果比对)。

使用前提:Python 3.8+,Teradata ODBC 驱动或 teradatasql 包,DWS gsql 客户端或 psycopg2 包,可选 DSC 工具与 obsutil。安装依赖:pip3 install teradatasql psycopg2-binary。需准备 Teradata、DWS 连接配置及 migration_config.yaml。

常用命令:预检 python3 scripts/pre_migration_check.py --td-config config/teradata_config.ini --dws-config config/dws_config.ini --schema <schema_name>;数据迁移支持 --method csv、obs、direct,obs 模式配合 --obs-config 与 --obs-temp-dir;视图/宏/过程迁移用 --config config/migration_config.yaml;带参数宏通过 --macro-params JSON 文件指定。

限制:TB 级数据建议用 OBS 并行导入;DWS 不支持 SUBPARTITION,多级 PPI 会降级为单级 RANGE;DWS 兼容 Teradata 模式下外表不支持 DATE 类型;需保证两端字符编码一致(推荐 UTF-8);非交互环境下重复表需 --force 参数。