hive是facebook實現並開源的用於解決海量結構化日誌的資料統計,是為了解決mapreduce程式設計的不便性以及成本高的問題,可以簡化操作
什麼是hive:
處理的資料儲存在hdfs上
底層分析資料的實現是mapreduce
執行程式執行在yarn上
hive是基於hadoop的乙個資料倉儲工具,可以將結構化的資料檔案對映成一張表,並提供類sql查詢功能(hql),本質是將hql轉化為mapreduce程式
hive處理的資料儲存在hdfs上,執行是在yarn上邊,不參與資料的儲存和處理,所以hive是大資料的倉庫而不是資料庫
hive將結構化的資料檔案,比如日誌檔案對映成一張表,這張表的名稱,字段,字段型別等,以及對映的資料檔案在hdfs的位置,這些資訊成為表的元資料,元資料一般儲存在關係型資料庫(mysql)中
hive如何將hsql轉化為mapreduce:
通過驅動器: driver
包含解析器 優化器 編譯器 執行器
解析器: 將hsql語句進行解析,比如表是否存在,字段是否存在,hsql語句是否有誤
優化器: 因為實現相同功能的hsql語句的效率是不一樣的,所以會進行基本的優化
編譯器: 生成乙個邏輯的執行計畫
執行器: 將邏輯計畫轉換成可以執行的物理計畫
hive的優點:
*操作介面採用類sql語法,簡化開發
*避免寫mapreduce,減少學習成本
*統一的元資料管理,可與impala/spark等共享元資料
*易擴充套件(支援自定義函式,可以擴充套件集群規模)
hive的使用場景:
*資料的離線處理: 比如日誌分析,海量結構化資料離線分析
*hive的執行延遲比較高,因此常用於資料分析的對實時性要求不高的場合
*hive優勢在於處理大資料,對於小資料沒有優勢
大資料資料倉儲Hive概述
1.hive產生背景 1 mapreduce的不便性 2 hdfs上的檔案缺少schema 2.hive是什麼?1 由facebook開源的,最初用於解決海量結構化的日誌資料統計問題 2 構建在hadoop之上的資料倉儲 3 hive定義了一種類sql查詢語言 hql 4 通常用於進行離線資料處理 ...
資料倉儲hive(簡介與應用)
資料倉儲概念 資料倉儲 data warehouse 是乙個面向主題的 subject oriented 整合的 integrated 相對穩定的 non volatile 反映歷史變化 time variant 的資料集合,用於支援管理決策。hive簡介 hive 是乙個構建於 hadoop 頂層...
資料倉儲初識
資料倉儲是乙個面向主題的 subject oriented 整合的 integrate 相對穩定的 non volatile 反映歷史變化 time variant 的資料集合,用於支援管理決策。資料倉儲是伴隨著企業資訊化發展起來的,在企業資訊化的過程中,隨著資訊化工具的公升級和新工具的應用,資料量...