hive是什麼
資料倉儲:傾向於資料管理,管理的原始資料可以不是儲存在自己本地
應用場景
模式
資料倉儲:hive讀模式時會進行校驗,寫模式不進行校驗
資料庫:關係型資料庫一般是寫模式,分布式資料庫的模式無法確定
hive的優缺點
優點:延展性,可自定義函式
缺點:
不支援事務
不支援行級別的update、delete操作,目前支援insert操作,但效能低
查詢延時性高,不適合實時性查詢
hive和rdbmsde的對比
hive的架構
使用者介面層:客戶端(cli shell訪問方式),odbc/jdbc(**),web ui(網頁訪問,不用)
thrift server:跨語言服務層,將各個語言翻譯成hive識別的操作符
元資料庫層:元資料庫儲存的是用於描述hive中的庫或表或字段資訊的資料
hive的元資料是結構化資料儲存的,hive的元資料儲存在關係型資料庫,預設儲存在derby資料庫中,一般情況下改為mysql
驅動層:
hive的資料組織格式
庫:同關係型資料庫,便於資料的管理,將不同模組的資料儲存在不同的資料庫中
表:內部表:表的資料hive自己進行管理,可自己決定資料的刪除或新增
內部表在進行刪除時,原始資料和元資料是一併刪除
刪除外部表時,原始資料不能刪除,元資料會刪除
分割槽表:當資料量比較大的時候 ,在進行查詢的時候,如果每一次都進行全表掃瞄,必然造成查詢效能低
分割槽表就是將原來的表的原始資料進行分目錄儲存,相當於對原始表乙個區塊劃分,將不同的分割槽 儲存在不同的目錄下
目的:便於查詢,在查詢的時候可以減少查詢的範圍
分割槽表的表現形式:將表中的不同區的資料分別儲存在不同的目錄下
分桶表:(類似mapreduce的分割槽的概念)
作用:提公升抽樣的效能
提公升join的效能
如:資料量比較大的時候先進行資料抽樣抽取樣本資料測試
抽樣時可拿乙個桶的資料作為樣本資料
目錄劃分:將不同的桶的資料分別儲存在不同的檔案中
分桶的資料劃分: 分桶字段.hash%分桶個數
檢視:提公升hql語句的可讀性
hive中的檢視只存在邏輯檢視,不存在物化檢視
資料儲存
hive中的資料庫的描述資訊:mysql表儲存的是資料庫表的描述資訊每當hive中建立乙個資料庫的時候,這個表就新增一條資料
原始資料儲存
儲存在hdfs上,預設在 路徑下
讀取的配置檔案 hive-default.xml中,若要修改儲存目錄,可在hive-site.xml新增配置項hive.metastore.warehouse.dir
HIVE 基本概念
hive架構 hive架構圖 hive與hadoop的關係 hive利用hdfs儲存資料,利用mapreduce查詢資料 hive與hadoop關係圖 hive的資料儲存 1 hive中所有的資料都儲存在 hdfs 中,沒有專門的資料儲存格式 可支援text,sequencefile,parquet...
Hive基本概念
什麼是hive 是乙個基於hadoop的資料倉儲工具,可以將結構化資料對映成一張資料表,並提供類sql的查詢功能。hive的意義是什麼 背景 hadoop是個好東西,但是學習難度大,成本高,坡度陡。意義 目的 降低程式設計師使用hadoop的難度。降低學習成本。hive可以對資料進行儲存與計算 儲存...
Hive基本概念
hive由facebook開源,用於解決海量結構化日誌的資料統計問題。hive是hadoop的乙個資料倉儲工具,可以將結構化的資料檔案對映為一張表,並提供類sql查詢功能。其本至就是將hql轉化成mapreduce程式。缺點執行機制 hive通過使用者提供的一系列互動介面,接收使用者的指令 sql ...