管理資料,不同模組的資料最好放在不同的資料庫中,同mysql中的資料庫的概念
內部表:管理表、managed table
表的建立,表的資料的刪除,都是由hive自己決定的,同mysql中的表。
內部表在進行刪除的時候,元資料和原始資料都會被刪除
外部表:external table
和內部表對立面,乙個表不可能同時是內部表又是外部表的,表結構上同內部表,資料自己決定不了。
外部表在進行刪除的時候,只能刪除元資料(描述資訊),表的原始資料(hdfs)不會被刪除
分割槽表:
概念不同於mr中分割槽的概念
如果表資料量大,查詢的時候進行全表掃瞄則會極大降低hive效能 。這時候利用分割槽表,將原來的表儲存的時候分成不 同的資料目錄儲存,查詢的時候只會掃瞄某乙個分割槽的資料
分桶表:
類似於mr中分割槽的概念。
同乙個表的資料,儲存在同乙個目錄下不同的檔案中
指定的分桶的個數對應於mapreduce中reducetask的個數
作用:1)提公升join的效能,當大表和大表關聯時,拆分成小表關聯
2)提公升抽樣的效能
hive中的檢視,只有邏輯檢視(儲存的僅僅是乙個sql語句,不會進行執行),沒有物化檢視(將檢視代表的sql進行執行結果)查詢檢視的時候才會進行執行。類似於sql語句的快捷方式,儲存的是當前檢視代表的sql語句。
原始資料:hdfs上,預設情況下儲存在hdfs上的: /usr/hive/warehouse
元資料儲存在mysql中:
dbs:描述hive中的資料庫資訊的。
tbls:描述hive資料庫中的表的資訊的。
columns_v2:描述字段資訊的
Hadoop 初步認識Hive
一 hive是什麼?二 hive和常用資料庫的區別 hive基於hadoop,hadoop是批處理系統,不能保證低延遲,因此,hive的查詢也不能保證低延遲。hive的工作模式是提交乙個任務,等到任務結束時被通知,而不是實時查詢。相對應的是,類似於oracle這樣的系統當執行於小資料集的時候,響應非...
HIve的初步認識(一 )
mapreduce中用於統計分析的資料大部分都是結構化的資料,如果資料量比較小的時候,直接使用mysql,當資料量大的時候,針對這個結構化的資料的統計分析,sql更為方便,mapreduce的統計分析針對結構化資料的,絕大部分都可以使用sql語句做,比mapreduce開發成本低。出現了乙個基於mr...
初學HIVE(一) 初步認識HIVE
hive是基於hadoop的資料倉儲工具,可以將結構化的資料檔案對映為一張表,並提供類sql查詢功能。本質是將hql轉化成mapreduce程式,儲存的基礎資料在hdfs上,執行程式執行在yarn上。hive 在查詢資料的時候,由於沒有索引,需要掃瞄整個表,因此延遲較高。還有乙個原因是mapredu...