溫馨提示×

溫馨提示×

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

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

怎么進行Hive視圖執(zhí)行show create table被截斷異常分析

發(fā)布時間:2021-12-09 15:51:27 來源:億速云 閱讀:286 作者:柒染 欄目:大數(shù)據(jù)

這期內(nèi)容當中小編將會給大家?guī)碛嘘P(guān)怎么進行Hive視圖執(zhí)行show create table被截斷異常分析,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

異常重現(xiàn)    

當對Hive的VIEW執(zhí)行SHOW CREATE TABLE時,結(jié)果輸出只有部分,會被截斷,這個表現(xiàn)在Hue,Beeline以及Hive CLI中都會存在,如下所示。

1.通過Hue

怎么進行Hive視圖執(zhí)行show create table被截斷異常分析

2.通過Beeline

0: jdbc:hive2://localhost:10000/default> SHOW CREATE TABLE test_view;
+------------------------------------+--+
|           createtab_stmt           |
+------------------------------------+--+
| CREATE VIEW `test_view` AS SELECT  |
|                                    |
| FROM `default`.`sample_07`         |
+------------------------------------+--+

3.通過Hive CLI

hive> SHOW CREATE TABLE test_view;
OK
CREATE VIEW `test_view` AS SELECT

FROM `default`.`sample_07`
故障解決    
經(jīng)過對各種CDH版本的研究和測試后,發(fā)現(xiàn)問題是由VIEW的create語句中帶有“ \t”字符引起的,并且僅在5.13.1之前的CDH版本中存在。輸出結(jié)果會刪除“\t”后的所有字符。從CDH5.13.1開始,Hive在保存元數(shù)據(jù)信息到數(shù)據(jù)庫MySQL之前,會刪掉空格,所以不會出現(xiàn)該問題。但是在低版本的CDH中如果已經(jīng)出現(xiàn)了該問題,僅升級CDH是不能解決的,因為Metastore中的數(shù)據(jù)不會更改。要解決該問題,需要更新Hive元數(shù)據(jù)庫中的信息,具體操作如下:

1.停止Hive服務,這樣阻止了對Hive元數(shù)據(jù)庫的后續(xù)操作;

2.使用mysqldump命令將整個MySQL數(shù)據(jù)庫dump成文本文件;

3.使用文本編輯器將TBLS表中所有“tab”替換為空格;

4.直接drop掉MySQL中舊的Hive元數(shù)據(jù)庫;

5.使用修改好的dump文件加載到新創(chuàng)建的Hive元數(shù)據(jù)庫中;

6.重啟服務然后檢查是否問題修復;

最好現(xiàn)在DEV/TEST環(huán)境中進行測試,然后再到生產(chǎn)系統(tǒng)中進行變更,以降低對生產(chǎn)系統(tǒng)的影響。

上述就是小編為大家分享的怎么進行Hive視圖執(zhí)行show create table被截斷異常分析了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細節(jié)

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

AI