Mysql元数据如何生成Hive建表语句注释脚本详解
发布时间 - 2026-01-11 02:46:14 点击率:次前言

本文主要给大家介绍了关于Mysql元数据生成Hive建表语句注释脚本的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍:
最近在将数据从Mysql 等其他关系型数据库 抽取到Hive 表中时,需要同步mysql表中的注释,以下脚本可以生成hive表字段注释修改语句。
注:其他关系型数据库如:oracle 可以通过相同的思路,读取元数据,修改脚本语法实现。
使用:
在mysql元数据库:information_schema 中执行以下语句
SELECT CONCAT('alter table ', TABLE_NAME, ' CHANGE COLUMN ', COLUMN_NAME, ' ', COLUMN_NAME, ' ', DATA_TYPE, ' comment ', '"', COLUMN_COMMENT, '"', ';')
FROM (SELECT TABLE_NAME, 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, COLUMN_COMMENT
FROM COLUMNS
WHERE TABLE_NAME = 'o_oms_statistic_profit'
) t;
在将数据从Mysql 等其他关系型数据库 抽取到Hive 表中时,需要同步mysql表中的注释,以下脚本可以生成hive创建表语句。只是生成了hive表主要的字段信息,其他信息需要手工添加。
在mysql元数据库:information_schema 中执行以下语句
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
WHERE t1.TABLE_NAME = 'o_oms_statistic_profit'
) t3
GROUP BY TABLE_NAME, TABLE_COMMENT
) t4;
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对的支持。
# hive
# 元数据
# mysql
# mysql表
# mysql建表语句
# 注释
# MySQL 元数据锁及问题排查的解决
# 一文搞懂MySQL元数据锁(MDL)
# MySQL和Oracle的元数据抽取实例分析
# 配置hive元数据到Mysql中的全过程记录
# 详细分析mysql MDL元数据锁
# MySQL如何查看元数据锁阻塞在哪里
# MySQL 元数据查看及实例代码
# 调用MySQL中数据库元数据的方法
# MySQL 元数据的使用小结
# 中时
# 相关内容
# 说了
# 不多
# 可以通过
# 给大家
# 这篇文章
# 谢谢大家
# 有疑问
# sql
# brush
# class
# SELECT
# pre
# CHANGE
# COLUMN
# COLUMN_NAME
# TABLE_NAME
# CONCAT
# alter
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
JavaScript模板引擎Template.js使用详解
Laravel集合Collection怎么用_Laravel集合常用函数详解
香港服务器租用费用高吗?如何避免常见误区?
Laravel如何处理CORS跨域请求?(配置示例)
Laravel如何使用Passport实现OAuth2?(完整配置步骤)
利用JavaScript实现拖拽改变元素大小
Laravel定时任务怎么设置_Laravel Crontab调度器配置
如何用低价快速搭建高质量网站?
Win11怎么关闭专注助手 Win11关闭免打扰模式设置【操作】
英语简历制作免费网站推荐,如何将简历翻译成英文?
安克发布新款氮化镓充电宝:体积缩小 30%,支持 200W 输出
如何在云虚拟主机上快速搭建个人网站?
Laravel怎么在Blade中安全地输出原始HTML内容
移动端脚本框架Hammer.js
bing浏览器学术搜索入口_bing学术文献检索地址
如何在IIS中新建站点并配置端口与IP地址?
Laravel如何配置和使用队列处理异步任务_Laravel队列驱动与任务分发实例
焦点电影公司作品,电影焦点结局是什么?
阿里云网站搭建费用解析:服务器价格与建站成本优化指南
如何在万网利用已有域名快速建站?
如何快速完成中国万网建站详细流程?
如何在阿里云服务器自主搭建网站?
Win11怎么设置默认图片查看器_Windows11照片应用关联设置
怎么制作一个起泡网,水泡粪全漏粪育肥舍冬季氨气超过25ppm,可以有哪些措施降低舍内氨气水平?
打造顶配客厅影院,这份100寸电视推荐名单请查收
原生JS实现图片轮播切换效果
html5audio标签播放结束怎么触发事件_onended回调方法【教程】
如何挑选高效建站主机与优质域名?
如何做网站制作流程,*游戏网站怎么搭建?
如何快速搭建高效简练网站?
北京网站制作费用多少,建立一个公司网站的费用.有哪些部分,分别要多少钱?
图片制作网站免费软件,有没有免费的网站或软件可以将图片批量转为A4大小的pdf?
Laravel怎么实现验证码(Captcha)功能
电商网站制作价格怎么算,网上拍卖流程以及规则?
Laravel如何实现API版本控制_Laravel API版本化路由设计策略
微信小程序 五星评分(包括半颗星评分)实例代码
独立制作一个网站多少钱,建立网站需要花多少钱?
如何快速搭建个人网站并优化SEO?
WordPress 子目录安装中正确处理脚本路径的完整指南
HTML 中如何正确使用模板变量为元素的 name 属性赋值
专业型网站制作公司有哪些,我设计专业的,谁给推荐几个设计师兼职类的网站?
香港服务器选型指南:免备案配置与高效建站方案解析
如何在阿里云虚拟服务器快速搭建网站?
如何快速搭建高效WAP手机网站吸引移动用户?
Laravel怎么实现搜索功能_Laravel使用Eloquent实现模糊查询与多条件搜索【实例】
网站制作壁纸教程视频,电脑壁纸网站?
javascript和jQuery中的AJAX技术详解【包含AJAX各种跨域技术】
Android自定义控件实现温度旋转按钮效果
php后缀怎么变mp4格式错误_修改扩展名提示格式不对怎么办【技巧】
C++用Dijkstra(迪杰斯特拉)算法求最短路径

