好乐详细解析_详细解析Mysql元数据如何生成Hive建表语句注释脚本

时间:2021-08-09  来源:mysql教程  阅读:

本文主要给大家介绍了关于Mysql元数据生成Hive建表语句注释脚本的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍:

最近在将数据从Mysql 等其他关系型数据库 抽取到Hive 表中时,需要同步mysql表中的注释,以下脚本可以生成hive表字段注释修改语句。

注:其他关系型数据库如:oracle 可以通过相同的思路,读取元数据,修改脚本语法实现。

使用:

在mysql元数据库:information_schema 中执行以下语句

SELECTCONCAT("alter table ", TABLE_NAME," CHANGE COLUMN ", COLUMN_NAME," ", COLUMN_NAME," ", DATA_TYPE," comment ",""", COLUMN_COMMENT,""",";")
FROM(SELECTTABLE_NAME, COLUMN_NAME,CASEWHENDATA_TYPE ="varchar"THEN"string"WHENDATA_TYPE ="int"THEN"int"WHENDATA_TYPE ="tinyint"THEN"tinyint"WHENDATA_TYPE ="decimal"THEN"double"WHENDATA_TYPE ="datetime"THEN"string"WHENDATA_TYPE ="timestamp"THEN"string"WHENDATA_TYPE ="float"THEN"double"WHENDATA_TYPE ="double"THEN"double"WHENDATA_TYPE ="bigint"THEN"bigint"ENDASDATA_TYPE, COLUMN_COMMENT
FROMCOLUMNS
WHERETABLE_NAME ="o_oms_statistic_profit"
) t;

在将数据从Mysql 等其他关系型数据库 抽取到Hive 表中时,需要同步mysql表中的注释,以下脚本可以生成hive创建表语句。只是生成了hive表主要的字段信息,其他信息需要手工添加。

在mysql元数据库:information_schema 中执行以下语句

SELECTCONCAT("create table ", TABLE_NAME,"(",substring(column_info, 1, length(column_info) - 1),")"," comment ",""", TABLE_COMMENT,""",";")
FROM(SELECTTABLE_NAME, TABLE_COMMENT, group_concat(CONCAT(COLUMN_NAME," ", DATA_TYPE," comment ",""", COLUMN_COMMENT,"""))AScolumn_info
FROM(SELECTt1.TABLE_NAME,CASEWHENt2.TABLE_COMMENT =NULLTHENt1.TABLE_NAMEELSEt2.TABLE_COMMENTENDASTABLE_COMMENT, COLUMN_NAME,CASEWHENDATA_TYPE ="varchar"THEN"string"WHENDATA_TYPE ="int"THEN"int"WHENDATA_TYPE ="tinyint"THEN"tinyint"WHENDATA_TYPE ="decimal"THEN"double"WHENDATA_TYPE ="datetime"THEN"string"WHENDATA_TYPE ="timestamp"THEN"string"WHENDATA_TYPE ="float"THEN"double"WHENDATA_TYPE ="double"THEN"double"WHENDATA_TYPE ="bigint"THEN"bigint"ENDASDATA_TYPE,CASEWHENCOLUMN_COMMENT =NULLTHENCOLUMN_NAMEELSECOLUMN_COMMENTENDASCOLUMN_COMMENT
FROMCOLUMNS t1JOINTABLES t2ONt1.TABLE_NAME = t2.TABLE_NAME
WHEREt1.TABLE_NAME ="o_oms_statistic_profit"
) t3
GROUPBYTABLE_NAME, TABLE_COMMENT
) t4;

好乐详细解析_详细解析Mysql元数据如何生成Hive建表语句注释脚本

http://m.bbyears.com/shujuku/134953.html

推荐访问:答案解析网 在线解析
相关阅读 猜你喜欢
本类排行 本类最新