前言
本文主要介紹Hive 的基礎(chǔ)概念,以及Handoop的大體架構(gòu),組件依賴,對于大數(shù)據(jù)有個總體的認識
Hive 基礎(chǔ)概念
官網(wǎng):https://hive.apache.org/
The Apache Hive data warehouse software facilitates reading, writing, and managing large datasets residing in distributed storage using SQL. Structure can be projected onto data already in storage. A command line tool and JDBC driver are provided to connect users to Hive.
Apache Hive 數(shù)據(jù)倉庫軟件支持使用SQL讀取、寫入和管理分布存儲中的大型數(shù)據(jù)集。結(jié)構(gòu)可以映射到存儲中的數(shù)據(jù)。提供了一個命令行工具和JDBC驅(qū)動程序來將用戶連接到Hive。
Hive的 特點:
- Hive是一個構(gòu)建于Hadoop頂層的數(shù)據(jù)倉庫工具,可以查詢和管理PB級別的分布式數(shù)據(jù)。
- 支持大規(guī)模數(shù)據(jù)存儲、分析,具有良好的可擴展性
- 某種程度上可以看作是用戶編程接口,本身不存儲和處理數(shù)據(jù)。
- 依賴分布式文件系統(tǒng)HDFS存儲數(shù)據(jù)。
- 依賴分布式并行計算模型MapReduce處理數(shù)據(jù)。
- 定義了簡單的類似SQL 的查詢語言——HiveQL。
- 用戶可以通過編寫的HiveQL語句運行MapReduce任務(wù)。
- 可以很容易把原來構(gòu)建在關(guān)系數(shù)據(jù)庫上的數(shù)據(jù)倉庫應(yīng)用程序移植到Hadoop平臺上。
- 是一個可以提供有效、合理、直觀組織和使用數(shù)據(jù)的分析工具。
Hive應(yīng)用場景:
思考: Hive 其實不是一個數(shù)據(jù)庫或者數(shù)據(jù)存儲系統(tǒng),而且是一個數(shù)據(jù)工具,主要是將SQL語句轉(zhuǎn)化為MapReduce任務(wù)執(zhí)行。
Hive 的結(jié)構(gòu)
該組件圖包含不同的單元。下表描述每個單元:
Hive的工作原理
下表定義Hive和Hadoop框架的交互方式:
Handoop 的結(jié)構(gòu)
(1)Pig是一個基于Hadoop的大規(guī)模數(shù)據(jù)分析平臺,Pig為復(fù)雜的海量數(shù)據(jù)并行計算提供了一個簡單的操作和編程接口; (2)Hive是基于Hadoop的一個工具,提供完整的SQL查詢,可以將sql語句轉(zhuǎn)換為MapReduce任務(wù)進行運行; (3)ZooKeeper:高效的,可拓展的協(xié)調(diào)系統(tǒng),存儲和協(xié)調(diào)關(guān)鍵共享狀態(tài); (4)HBase是一個開源的,基于列存儲模型的分布式數(shù)據(jù)庫; (5)HDFS是一個分布式文件系統(tǒng),有著高容錯性的特點,適合那些超大數(shù)據(jù)集的應(yīng)用程序; (6)MapReduce是一種編程模型,用于大規(guī)模數(shù)據(jù)集(大于1TB)的并行運算。
Handoop 集群部署
Handoop 組件依賴關(guān)系
Handoop的核心
參考資料:
https://blog.csdn.net/zl834205311/article/details/80334346
https://www.cnblogs.com/tieandxiao/p/8799287.html
https://www.yiibai.com/hive
https://www.jianshu.com/p/d68272609bf8