1,受控表
所謂受控表,也就是常說的內部表,對應的是外部表,也就是說表數據的生命周期是受控的。刪除表定義時,表中的數據也會被刪除。創建表時,將在hive中找到其對應的表記錄,並且將在metastore表TBLS中找到表定義。壹旦我們從hive中刪除了表的定義,表中的數據將不再存在,metastore中的定義也將不再存在。
2.外部表格
與受控表相比,怎麽可能是相對的?內部表中數據的生命周期受表定義的影響。不,數據的生命周期或數據是否存在不受表定義的約束。表中的數據只是表對hdfs上相應文件的引用。刪除表定義後,表中的數據仍然存在。
3.分區表
假設服務器集群每天生成壹個日誌數據文件,並將該數據文件存儲在HDFS中。如果我們想查詢某壹天的數據,hive將掃描所有文件以確定是否是指定日期。您可以將日期設為子目錄。hive查詢時,根據日期判斷子目錄。然後掃描合格子目錄中的數據文件。
4、桶形桌子
桶表將數據散列並存儲在不同的文件中。彎曲是將數據分解成更易於管理的部分的另壹種技術。如果表是連接的,則需要完全掃描兩個表的數據。非常耗時。您可以優化連接字段。在桶的情況下,比較相似表中的數據非常方便,只需比較相應桶中的數據即可。