1. 程式人生 > 其它 >資料倉庫Hive

資料倉庫Hive

1、Hive的存在可以簡化MapReduce實現過程

(1)MapReduce程式設計的不便

(2)傳統關係型資料庫RDBMS人員的需要

(3)HDFS上的檔案沒有schema的概念:即沒有表明、欄位名、欄位型別等資訊。僅僅是一個字串的檔案。

2、Hive是什麼?

(1)由Facebook開源,用於解決海量結構化日誌的資料統計問題

(2)構建在Hadoop之上的資料倉庫(當計算/儲存能力不夠,直接線性新增機器即可)

(3)Hive提供的SQL查詢語言:HQL

(4)Hive底層支援多種不同的執行引擎:MR/Tez/Spark(在Hive裡通過一個引數設定,即可更換底層引擎執行。客戶對引擎是不感知的)

(5)使用SQL對海量資料的資料進行統計、分析的一個工具。

3、使用Hive的原因

(1)簡單、容易上手

(2)為超大資料集設計的一個計算/儲存擴充套件能力

(3)提供了統一的元資料管理:

  Hive資料是存放在HDFS(普通的文字)上

  元資料資訊(記錄資料[HDFS上的資料]的資料[描述HDFS的資料])是存放在MySQL中。

  SQL on Hadoop 提供的框架:Hive、SparkSQL、impala....(因為有統一的元資料管理,使用的框架可以任意更換,方便Hive上的作業移植到其他平臺中)

4、Hive在Hadoop生態系統中的位置

(1)Hive是構建在Hadoop之上的資料倉庫,資料是存放在HDFS上的。

(2)當作業執行,即一個sql經過Hive,會自動翻譯成MapRrduce作業,然後作業提交給YARN執行。然後不用擔心MapRrduce到底是怎麼實現了。