1、Hive和傳統數據庫的區別
(1)表數據驗證:傳統數據庫是寫模式,hive是讀模式。傳統數據庫在寫入數據的時候就去檢查數據格式,hive在讀取數據的時候檢查。因此,寫時模式,查詢快,讀時模式數據加載快。
(2)hive不支持實時處理,並且對索引支持較弱。
(3)hive不支持行級插入和事務。
(4)hive數據結構復雜,例如:數組、映射、結構體。
1、數據存儲位置。Hive是建立在Hadoop之上的,所有的Hive的數據都是存儲在HDFS中的。而數據庫則可以將數據保存在塊設備或本地文件系統中。
2、數據格式。Hive中沒有定義專門的數據格式,由用戶指定,需要指定三個屬性:列分隔符,行分隔符,以及讀取文件數據的方法。數據庫中,存儲引擎定義了自己的數據格式。所有數據都會按照一定的組織存儲。
3、數據更新。Hive的內容是讀多寫少的,因此,不支持對數據的改寫和刪除,數據都在加載的時候中確定好的。數據庫中的數據通常是需要經常進行修改。
4、執行延遲。Hive在查詢數據的時候,需要掃描整個表(或分區),因此延遲較高,只有在處理大數據是才有優勢。數據庫在處理小數據是執行延遲較低。
5、索引。Hive沒有,數據庫有
6、執行。Hive是MapReduce,數據庫是Executor
7、可擴展性。Hive高,數據庫低
8、數據規模。Hive大,數據庫小