前言
本文主要介紹Hive 的基礎(chǔ)概念,以及Handoop的大體架構(gòu),組件依賴,對(duì)于大數(shù)據(jù)有個(gè)總體的認(rèn)識(shí)
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ù)倉(cāng)庫(kù)軟件支持使用SQL讀取、寫入和管理分布存儲(chǔ)中的大型數(shù)據(jù)集。結(jié)構(gòu)可以映射到存儲(chǔ)中的數(shù)據(jù)。提供了一個(gè)命令行工具和JDBC驅(qū)動(dòng)程序來將用戶連接到Hive。
Hive的 特點(diǎn):
- Hive是一個(gè)構(gòu)建于Hadoop頂層的數(shù)據(jù)倉(cāng)庫(kù)工具,可以查詢和管理PB級(jí)別的分布式數(shù)據(jù)。
- 支持大規(guī)模數(shù)據(jù)存儲(chǔ)、分析,具有良好的可擴(kuò)展性
- 某種程度上可以看作是用戶編程接口,本身不存儲(chǔ)和處理數(shù)據(jù)。
- 依賴分布式文件系統(tǒng)HDFS存儲(chǔ)數(shù)據(jù)。
- 依賴分布式并行計(jì)算模型MapReduce處理數(shù)據(jù)。
- 定義了簡(jiǎn)單的類似SQL 的查詢語(yǔ)言——HiveQL。
- 用戶可以通過編寫的HiveQL語(yǔ)句運(yùn)行MapReduce任務(wù)。
- 可以很容易把原來構(gòu)建在關(guān)系數(shù)據(jù)庫(kù)上的數(shù)據(jù)倉(cāng)庫(kù)應(yīng)用程序移植到Hadoop平臺(tái)上。
- 是一個(gè)可以提供有效、合理、直觀組織和使用數(shù)據(jù)的分析工具。
Hive應(yīng)用場(chǎng)景:
思考: Hive 其實(shí)不是一個(gè)數(shù)據(jù)庫(kù)或者數(shù)據(jù)存儲(chǔ)系統(tǒng),而且是一個(gè)數(shù)據(jù)工具,主要是將SQL語(yǔ)句轉(zhuǎn)化為MapReduce任務(wù)執(zhí)行。
Hive 的結(jié)構(gòu)
該組件圖包含不同的單元。下表描述每個(gè)單元:
Hive的工作原理
下表定義Hive和Hadoop框架的交互方式:
Handoop 的結(jié)構(gòu)
(1)Pig是一個(gè)基于Hadoop的大規(guī)模數(shù)據(jù)分析平臺(tái),Pig為復(fù)雜的海量數(shù)據(jù)并行計(jì)算提供了一個(gè)簡(jiǎn)單的操作和編程接口; (2)Hive是基于Hadoop的一個(gè)工具,提供完整的SQL查詢,可以將sql語(yǔ)句轉(zhuǎn)換為MapReduce任務(wù)進(jìn)行運(yùn)行; (3)ZooKeeper:高效的,可拓展的協(xié)調(diào)系統(tǒng),存儲(chǔ)和協(xié)調(diào)關(guān)鍵共享狀態(tài); (4)HBase是一個(gè)開源的,基于列存儲(chǔ)模型的分布式數(shù)據(jù)庫(kù); (5)HDFS是一個(gè)分布式文件系統(tǒng),有著高容錯(cuò)性的特點(diǎn),適合那些超大數(shù)據(jù)集的應(yīng)用程序; (6)MapReduce是一種編程模型,用于大規(guī)模數(shù)據(jù)集(大于1TB)的并行運(yùn)算。
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