91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

關于Mysql元數據怎么生成Hive建表語句注釋腳本

發布時間:2020-09-28 17:34:29 來源:億速云 閱讀:276 作者:小新 欄目:MySQL數據庫

關于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元數據怎么生成Hive建表語句注釋腳本大概了解了嗎?希望文章內容對大家有所幫助。如果想了解更多相關文章內容,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

绥滨县| 嘉荫县| 右玉县| 乐昌市| 岑巩县| 昌黎县| 正宁县| 金阳县| 利辛县| 曲周县| 新乡县| 兴和县| 兴宁市| 应用必备| 长顺县| 武邑县| 大足县| 泊头市| 广州市| 江安县| 阿拉善盟| 渑池县| 舞阳县| 海南省| 浦县| 兰州市| 公主岭市| 徐汇区| 甘南县| 台东县| 拜城县| 通渭县| 远安县| 洞口县| 铁岭市| 房产| 舞阳县| 霍林郭勒市| 浦县| 祥云县| 秦皇岛市|