亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Hive內部表和外部表之間的區別?

Hive內部表和外部表之間的區別?

慕萊塢森 2019-12-09 14:12:21
誰能告訴我Hive的外部表和內部表之間的區別。我知道放桌子時會有不同。我不明白您的意思是數據和元數據在內部被刪除,僅元數據在外部表中被刪除。誰能解釋我的節點。
查看完整描述

3 回答

?
慕絲7291255

TA貢獻1859條經驗 獲得超6個贊

配置單元表可以創建為EXTERNAL或INTERNAL。這是一個影響數據加載,控制和管理方式的選擇。

在以下情況下使用EXTERNAL表:

  1. 該數據還用于Hive之外。例如,數據文件由不鎖定文件的現有程序讀取和處理。

  2. 即使在放置DROP TABLE之后,數據也需要保留在底層位置。如果您將多個模式(表或視圖)指向一個數據集,或者正在遍歷各種可能的模式,則可以應用此方法。

  3. 您要使用自定義位置,例如ASV。

  4. Hive不應擁有數據和控件設置,目錄等,您可以使用其他程序或進程來執行這些操作。

  5. 您不是基于現有表(AS SELECT)創建表。

在以下情況下使用INTERNAL表:

數據是臨時的。

您希望Hive完全管理表和數據的生命周期。


查看完整回答
反對 回復 2019-12-09
?
千巷貓影

TA貢獻1829條經驗 獲得超7個贊

回答您的問題:

對于外部表,Hive不會將數據移動到其倉庫目錄中。如果刪除了外部表,那么將刪除表元數據,但不會刪除數據。

對于內部表,Hive將數據移動到其倉庫目錄中。如果刪除了表,則表元數據和數據將被刪除。


供你參考,

內部和外部表之間的區別:

對于外部表-

  • 外部表將文件存儲在HDFS服務器上,但表未完全鏈接到源文件。

  • 如果刪除外部表,該文件仍保留在HDFS服務器上。

    例如,如果您使用HIVE-QL在HIVE中創建一個名為“ table_test”外部表并將該表鏈接到文件“ file”,則從HIVE中刪除“ table_test”不會從HDFS中刪除“ file”

  • 有權訪問HDFS文件結構的任何人都可以訪問外部表文件,因此需要在HDFS文件/文件夾級別管理安全性。

  • 元數據保留在主節點上,從HIVE中刪除外部表只會刪除元數據,而不會刪除數據/文件。


對于內部表-

  • 根據設置存儲在目錄中hive.metastore.warehouse.dir, 默認情況下,內部表存儲在以下目錄“ / user / hive / warehouse”中,您可以通過更新配置文件中的位置來進行更改。

  • 刪除表將分別從主節點和HDFS中刪除元數據和數據。

  • 內部表文件安全性僅通過HIVE控制。安全需要在HIVE內部進行管理,可能需要在架構級別(取決于組織)進行管理。


Hive可能具有內部或外部表,這是一個會影響數據加載,控制和管理方式的選擇。

在以下情況下使用EXTERNAL表:

  • 數據還用于Hive之外。例如,數據文件由不鎖定文件的現有程序讀取和處理。

  • 即使在放置DROP TABLE之后,數據也需要保留在底層位置。如果您將多個模式(表或視圖)指向單個數據集,或者正在遍歷各種可能的模式,則可以應用此方法。

  • Hive不應擁有數據和控件設置,目錄等,否則您可能會有另一個程序或進程來執行這些操作。

  • 您不是基于現有表(AS SELECT)創建表。

在以下情況下使用INTERNAL表:

  • 數據是暫時的。

  • 您希望Hive完全管理表和數據的生命周期。


查看完整回答
反對 回復 2019-12-09
  • 3 回答
  • 0 關注
  • 1008 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號