mysql分片建表语句_Mysql元数据如何生成Hive建表语句注释脚本详解
前言
本文主要给大家介绍了关于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;
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对聚米学院的支持。
mysql分片建表语句_Mysql元数据如何生成Hive建表语句注释脚本详解相关推荐
- mysql hive 建表语句_Mysql元数据如何生成Hive建表语句注释脚本详解
前言 本文主要给大家介绍了关于Mysql元数据生成Hive建表语句注释脚本的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍: 最近在将数据从Mysql 等其他关系型数据库 抽取 ...
- oracle和mysql通用建表语句_mysql建表语句到oracle怎么写?
mysql建表语句到oracle怎么写? CREATE TABLE `Advertisment` ( `AdId` int(8) NOT NULL auto_increment, `AderId` ...
- mppdb 查看建表语句_mysql迁移mpp数据库Greenplum
1. 场景描述 因兄弟项目中mysql有点扛不住了,要做sql优化,但是业务有点小复杂,优化起来有点麻烦(sql嵌套有点多),便想着用Mpp数据库Greenplum测试下,看性能和复杂度怎么样,趟趟水 ...
- 关于使用java程序从excel或者数据库中取出建表规则数据,自动生成数据库建表语句(适用于批量建数据库表)
公司开发新系统,需要创建几百个数据库表,建表的规则已经写好放到Excel中,如果手动创建的话需要占用较长的时间去做,而且字段类型的规则又被放到了另一张表,如果手动去一个一个去匹配就很麻烦,所以我先把两 ...
- mysql怎么建表语句_mysql 建表语句
最近项目在用mysql语句 指定非空,默认值为空字符串 NOT NULL DEFAULT '' 建表 CREATE TABLE IF NOT EXISTS `ims_test` ( `id` ...
- jdbc 生成建表语句_mysql数据库下建表语句
mysql建立数据库报错You have an error in your SQL syntax; check the manual that corresponds to your MySQL se ...
- mysql的查表语句_mysql查表语句_MySQL
bitsCN.com mysql查表语句 [sql] describe table_name; 这个命令用来显示一个表格的结构 +----------+-----------+------+----- ...
- Oracle 建表语句的关键字详解
目录 一.建表语句 二.关键字详解 1. ENABLE 和 DISABLE 2. 创建主键约束 3. USING INDEX 4. PCTFREE 5. PCTUSED 6. INITRANS 和 M ...
- mysql建表语句_MySQL之完整建表语句及数据类型
1.创建表的完整语法 create table 表名( 字段名称 数据类型[(长度) 约束条件], 字段名称 数据类型[(长度) 约束条件] ) 必须的:字段名 数据类型 表名 可选的:长度 约束条件 ...
最新文章
- Rocksdb 的优秀代码(二)-- 工业级 打点系统 实现分享
- bond、服务器登录、跟踪数据包的路由
- python输出不重复的单词_python-如何在文本文件中创建所有单词的列表,但字母重复的单词除外...
- 类加载的双亲委派机制
- Filebeat占用内存和CPU过高问题排查
- SmartDraw_2012_Enterprise_R20.0.1.0的安装使用
- 2021年春季学期期末统一考试 金融统计分析 试题(开卷)
- 标记分布学习与标记增强
- mysql json mybatis_mybatis支持json,Spring boot配置
- python hashlib安装_Hashlib加密,内置函数,安装操作数据库
- linux 返回非法指令,linux – ARM Cortex A7在内核模式下返回PMCCNTR = 0,在用户模式下返回非法指令(即使在PMUSERENR = 1之后)...
- 帧率ffmepg 摄像头_监控摄像头的硬盘内存选择方法
- Git--分布式版本控制系统
- JS function 函数基本定义方法
- web developer tips (56):手动更新JScript的智能感知
- lamda表达式对list各种处理
- PVS中TFTP的隐藏配置
- Egg.js上传图片总结
- pad平板性能测试软件,苹果iPad 2020款评测,最便宜的iPad,性能碾压安卓?
- gym103261 I. Euclid‘s Algorithm
热门文章
- 微信开发系列之十 - 在SAP C4C接收微信发送过来的服务请求回应
- Numeric tile and other files loaded in Smart Template tile render launch
- SAP C4C产品主数据OData服务的ETag处理
- SAP Cloud for Customer Sales Lead明细页面视图的UI模型
- Fiori Elements里General Information的设计原理
- Annotation request in WebIDE automatic generated project
- why COMM_PRFREEATTR could not appear in F4 help
- SAP云平台点了subscription菜单后的roundtrip
- table ADR6 引起的equipment download error
- BP: 通过SAP name拿到central person id