您现在的位置是:亿华云 > 数据库

数据仓库工具方法-维度表同步 MySQL表结构同步到Hive

亿华云2025-10-03 06:40:36【数据库】8人已围观

简介mysql 中的数据类型与Hive 是有区别的,但是他们有规律, 有规律就好办了, 我们可以通过写程序来批量处理,来提高我们的工作效率。来我们开干。MySQL 中的表结构都是存在一个固定的数据库中,它

 mysql 中的数据数据类型与Hive 是有区别的,但是仓库他们有规律, 有规律就好办了,工具构同 我们可以通过写程序来批量处理,维度来提高我们的表同步M表结步工作效率。

来我们开干。云南idc服务商数据

MySQL 中的仓库表结构都是存在一个固定的数据库中,它的工具构同名字是:information_schema

字段是存储在固定的表中:COLUMNS

我们先直接上脚本

SELECT     CONCAT(         create table ,         TABLE_NAME,         (,         substring( column_info, 1, length( column_info ) - 1 ),         ),          comment ,         ",         TABLE_COMMENT,         ",         ;  )  FROM     (     SELECT         TABLE_NAME,         TABLE_COMMENT,         group_concat( CONCAT( COLUMN_NAME,  , DATA_TYPE,  comment , ", COLUMN_COMMENT, " ) ) AS column_info      FROM         (         SELECT             t1.TABLE_NAME,         CASE                 WHEN t2.TABLE_COMMENT = NULL THEN                 t1.TABLE_NAME ELSE t2.TABLE_COMMENT              END AS TABLE_COMMENT,             COLUMN_NAME,         CASE                 WHEN DATA_TYPE = varchar THEN                 string                  WHEN DATA_TYPE = int THEN                 int                  WHEN DATA_TYPE = tinyint THEN                 tinyint                  WHEN DATA_TYPE = decimal THEN                 double                  WHEN DATA_TYPE = datetime THEN                 string                  WHEN DATA_TYPE = timestamp THEN                 string                  WHEN DATA_TYPE = float THEN                 double                  WHEN DATA_TYPE = double THEN                 double                  WHEN DATA_TYPE = bigint THEN                 bigint              END AS DATA_TYPE,         CASE                 WHEN COLUMN_COMMENT = NULL THEN                 COLUMN_NAME ELSE COLUMN_COMMENT              END AS COLUMN_COMMENT          FROM             COLUMNS t1             JOIN TABLES t2 ON t1.TABLE_NAME = t2.TABLE_NAME and   t1.TABLE_SCHEMA = t2.TABLE_SCHEMA          WHERE             t1.TABLE_NAME = book_module_stencil  and t1.TABLE_SCHEMA=yyb_test         ) t3      GROUP BY         TABLE_NAME,     TABLE_COMMENT      ) t4;

 book_module_stencil 替换成你的表名称。亿华云计算

yyb_test 替换成你的维度数据库名称。

执行结果是表同步M表结步这样的

格式化后是这样的

CREATE TABLE book_module_stencil (     id string COMMENT "id",     NAME string COMMENT "版块名称",     type string COMMENT "图书类型(0:教材;1:教辅;2课外)",     stu_icon string COMMENT "学生端配置图标的地址",     tea_icon string COMMENT "老师端配置图标的地址",     sort INT COMMENT "排序",     remarks string COMMENT "备注信息",     create_by string COMMENT "创建者",     create_date string COMMENT "创建时间",     update_by string COMMENT "更新者",     update_date string COMMENT "更新时间", CODE string COMMENT "编码(模块名称首字母)"  ) COMMENT "模块模版表";

 今天的分享就到这里。站群服务器

数据

很赞哦!(9)