洗引擎資料的時候,由於改動了幾個字段,因此需要刪除原來關聯了hdfs指定路徑的外部表,重新建外部表表並關聯hdfs。問題就出現在刪外部表上,開始使用truncate的時候,發現並不能 刪除外部表,於是查了查發現truncate只能刪除內部表,於是果斷使用一下命令將外部表先變成了內部表,然後再使用drop進行刪除
alter table *** set tblproperties('external'='false')結果表是給刪除了,然後發現hdfs上關聯路徑下的分割槽資料也全部沒了,然後就開始了悽慘的補資料之路...drop table ***
外部表——>建立表的時候指定external,外部表在刪除之後,僅會刪除hive外部表中元資料,不會刪除資料和指定路徑教訓:千萬不要為了刪除外部表就將外部表先轉化為內部表,這樣會將hdfs上的資料一併刪除的內部表——>刪除內部表會將資料和預設路徑都刪除,因此可能會誤刪資料,謹慎操作
內外部表轉換
內部表——>外部表:alter table *** set tblproperties('external'='false')1)truncate:用於刪除表或者分割槽中所有的行,但表結構及其列、約束、索引等保持不變,而且不記錄單個行刪除操作外部表——>內部表:alter table *** set tblproperties('external'='true')
2)delete: 可以刪除特定行,也可以刪除所有行,並且在事務日誌中為所刪除的每行記錄一項
3)drop:刪除整個表資料及其表定義
1)刪除外部表分割槽
alter table tablename drop partition(partitions...)2)刪除hdfs上的資料
hdfs dfs -ls url_namereference: blog.csdn.net/tengxing007…
blog.csdn.net/u011686226/…
安裝 anaconda 時遇到的坑
在win10系統中安裝anaconda時,最後總是報錯 unicodedecodeerror utf8 codec can t decode byte 0xce in position 11 invalid 這是由於windows使用者名稱中含有中文字元導致的,網上好多推薦對windows使用者名稱...
初學springboot時遇到的坑
一 專案啟動後,在瀏覽器輸入http localhost 8080 springbootweb hello 結果介面提示以下內容 檢視了控制台,啟動過程沒有報異常,那是什麼原因導致的呢?上網時查詢 給出的解決方案如下 原因 spring boot會自動載入啟動類所在包下及其子包下的所有元件.針對第乙...
寫HTML CSS頁面時遇到的坑
html和css這前端簡直是一大坑 按著教程來一點點實踐看不下去了,就打算自己做著乙個頁面先。其中又想把vim的補全弄好,還有git學會,想著存上github,但都太麻煩了tat 跑題了跑題了,git和vim的ycm補全都沒弄好,但html和css的坑倒是踩了不少。我還以為在寫width和heigh...