Apache Hive可以幫助您快速查詢和管理大型數(shù)據(jù)集歧沪。 它是Hadoop生態(tài)系統(tǒng)的ETL工具碳褒。 在本教程中折砸,您將學(xué)習(xí)Hive的重要主題,如HQL查詢沙峻,數(shù)據(jù)提取睦授,分區(qū),bucket等摔寨。
Hive簡(jiǎn)介
Hive是在Hadoop之上開(kāi)發(fā)的去枷。 它是一個(gè)數(shù)據(jù)倉(cāng)庫(kù)框架,用于查詢和分析存儲(chǔ)在HDFS中的數(shù)據(jù)是复。 Hive是一個(gè)開(kāi)源軟件删顶,可以讓程序員在Hadoop上分析大型數(shù)據(jù)集。
在業(yè)界收集和分析商業(yè)智能的數(shù)據(jù)集的大小正在增長(zhǎng)淑廊,并且在某種程度上逗余,它使傳統(tǒng)的數(shù)據(jù)倉(cāng)庫(kù)解決方案更加昂貴。 帶有MapReduce框架的Hadoop被用作分析大數(shù)據(jù)集的替代解決方案蒋纬。 雖然Hadoop已經(jīng)證明對(duì)于處理大型數(shù)據(jù)集非常有用猎荠,但它的MapReduce框架水平非常低,它要求程序員編寫難以維護(hù)和重用的自定義程序蜀备。
Hive演變?yōu)榛贖adoop Map-Reduce框架構(gòu)建的數(shù)據(jù)倉(cāng)庫(kù)解決方案关摇。
Hive提供類似SQL的聲明性語(yǔ)言,稱為HiveQL 碾阁,用于表達(dá)查詢输虱。 使用與SQL關(guān)聯(lián)的Hive-QL用戶可以非常輕松地執(zhí)行數(shù)據(jù)分析。
Hive引擎將這些查詢編譯為要在Hadoop上執(zhí)行的Map-Reduce作業(yè)脂凶。 此外宪睹,還可以將自定義Map-Reduce腳本插入查詢中。 Hive對(duì)存儲(chǔ)在表中的數(shù)據(jù)進(jìn)行操作蚕钦,這些數(shù)據(jù)由原始數(shù)據(jù)類型和集合數(shù)據(jù)類型(如數(shù)組和映射)組成亭病。
Hive附帶一個(gè)命令行shell接口,可用于創(chuàng)建表和執(zhí)行查詢嘶居。
Hive查詢語(yǔ)言類似于SQL罪帖,它支持子查詢。 使用Hive查詢語(yǔ)言邮屁,可以跨Hive表進(jìn)行MapReduce連接整袁。 它支持簡(jiǎn)單的SQL函數(shù) -CONCAT,SUBSTR佑吝,ROUND等坐昙,以及聚合函數(shù) - SUM,COUNT芋忿,MAX等炸客。它還支持GROUP BY和SORT BY子句。 也可以在Hive查詢語(yǔ)言中編寫用戶定義的函數(shù)戈钢。
參考資料
- python測(cè)試開(kāi)發(fā)項(xiàng)目實(shí)戰(zhàn)-目錄
- python工具書籍下載-持續(xù)更新
- python 3.7極速入門教程 - 目錄
- 討論qq群630011153 144081101
- 原文地址
- 本文涉及的python測(cè)試開(kāi)發(fā)庫(kù) 謝謝點(diǎn)贊嚷量!
- 本文相關(guān)海量書籍下載
Hive Vs Map Reduce
在Hive和Map之間進(jìn)行選擇時(shí),需要考慮以下因素;
- 數(shù)據(jù)類型
- 數(shù)據(jù)量
- 代碼的復(fù)雜性
特征 | Hive | Map Reduce |
---|---|---|
語(yǔ)言 | 它支持SQL逆趣,如用于交互和數(shù)據(jù)建模的查詢語(yǔ)言 | 編譯語(yǔ)言蝶溶,其中包含兩個(gè)主要任務(wù)。 一個(gè)是map任務(wù)宣渗,另一個(gè)是reducer抖所。可以使用Java或Python定義這些任務(wù) |
抽象程度 | 基于HDFS的更高級(jí)別象 | 較低的抽象層次 |
代碼效率 | 比Map Reduce相對(duì)低效 | 高效率 |
代碼 | 開(kāi)發(fā)量較少 | 開(kāi)發(fā)量較多 |