前言

本文主要给大家介绍了关于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建表语句注释脚本详解相关推荐

  1. mysql hive 建表语句_Mysql元数据如何生成Hive建表语句注释脚本详解

    前言 本文主要给大家介绍了关于Mysql元数据生成Hive建表语句注释脚本的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍: 最近在将数据从Mysql 等其他关系型数据库 抽取 ...

  2. oracle和mysql通用建表语句_mysql建表语句到oracle怎么写?

    mysql建表语句到oracle怎么写? CREATE TABLE `Advertisment` (  `AdId` int(8) NOT NULL auto_increment,  `AderId` ...

  3. mppdb 查看建表语句_mysql迁移mpp数据库Greenplum

    1. 场景描述 因兄弟项目中mysql有点扛不住了,要做sql优化,但是业务有点小复杂,优化起来有点麻烦(sql嵌套有点多),便想着用Mpp数据库Greenplum测试下,看性能和复杂度怎么样,趟趟水 ...

  4. 关于使用java程序从excel或者数据库中取出建表规则数据,自动生成数据库建表语句(适用于批量建数据库表)

    公司开发新系统,需要创建几百个数据库表,建表的规则已经写好放到Excel中,如果手动创建的话需要占用较长的时间去做,而且字段类型的规则又被放到了另一张表,如果手动去一个一个去匹配就很麻烦,所以我先把两 ...

  5. mysql怎么建表语句_mysql 建表语句

    最近项目在用mysql语句 指定非空,默认值为空字符串    NOT NULL  DEFAULT '' 建表 CREATE TABLE  IF NOT EXISTS `ims_test` ( `id` ...

  6. jdbc 生成建表语句_mysql数据库下建表语句

    mysql建立数据库报错You have an error in your SQL syntax; check the manual that corresponds to your MySQL se ...

  7. mysql的查表语句_mysql查表语句_MySQL

    bitsCN.com mysql查表语句 [sql] describe table_name; 这个命令用来显示一个表格的结构 +----------+-----------+------+----- ...

  8. Oracle 建表语句的关键字详解

    目录 一.建表语句 二.关键字详解 1. ENABLE 和 DISABLE 2. 创建主键约束 3. USING INDEX 4. PCTFREE 5. PCTUSED 6. INITRANS 和 M ...

  9. mysql建表语句_MySQL之完整建表语句及数据类型

    1.创建表的完整语法 create table 表名( 字段名称 数据类型[(长度) 约束条件], 字段名称 数据类型[(长度) 约束条件] ) 必须的:字段名 数据类型 表名 可选的:长度 约束条件 ...

最新文章

  1. Rocksdb 的优秀代码(二)-- 工业级 打点系统 实现分享
  2. bond、服务器登录、跟踪数据包的路由
  3. python输出不重复的单词_python-如何在文本文件中创建所有单词的列表,但字母重复的单词除外...
  4. 类加载的双亲委派机制
  5. Filebeat占用内存和CPU过高问题排查
  6. SmartDraw_2012_Enterprise_R20.0.1.0的安装使用
  7. 2021年春季学期期末统一考试 金融统计分析 试题(开卷)
  8. 标记分布学习与标记增强
  9. mysql json mybatis_mybatis支持json,Spring boot配置
  10. python hashlib安装_Hashlib加密,内置函数,安装操作数据库
  11. linux 返回非法指令,linux – ARM Cortex A7在内核模式下返回PMCCNTR = 0,在用户模式下返回非法指令(即使在PMUSERENR = 1之后)...
  12. 帧率ffmepg 摄像头_监控摄像头的硬盘内存选择方法
  13. Git--分布式版本控制系统
  14. JS function 函数基本定义方法
  15. web developer tips (56):手动更新JScript的智能感知
  16. lamda表达式对list各种处理
  17. PVS中TFTP的隐藏配置
  18. Egg.js上传图片总结
  19. pad平板性能测试软件,苹果iPad 2020款评测,最便宜的iPad,性能碾压安卓?
  20. gym103261 I. Euclid‘s Algorithm

热门文章

  1. 微信开发系列之十 - 在SAP C4C接收微信发送过来的服务请求回应
  2. Numeric tile and other files loaded in Smart Template tile render launch
  3. SAP C4C产品主数据OData服务的ETag处理
  4. SAP Cloud for Customer Sales Lead明细页面视图的UI模型
  5. Fiori Elements里General Information的设计原理
  6. Annotation request in WebIDE automatic generated project
  7. why COMM_PRFREEATTR could not appear in F4 help
  8. SAP云平台点了subscription菜单后的roundtrip
  9. table ADR6 引起的equipment download error
  10. BP: 通过SAP name拿到central person id