国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Hive介紹

Tecode / 2049人閱讀

摘要:通過(guò)給用戶提供的一系列交互接口,接收到用戶的指令,使用自己的,結(jié)合元數(shù)據(jù),將這些指令翻譯成,提交到中執(zhí)行,最后,將執(zhí)行返回的結(jié)果輸出到用戶交互接口。

什么是Hive

hive簡(jiǎn)介

hive是由Facebook開(kāi)源用于解決海量結(jié)構(gòu)化日志的數(shù)據(jù)統(tǒng)計(jì)工具,是基于Hadoop的一個(gè)數(shù)據(jù)倉(cāng)庫(kù)工具,可以將結(jié)構(gòu)化的數(shù)據(jù)文件映射為一張表,并提供類 SQL查詢功能。

Hive本質(zhì)

將HQL轉(zhuǎn)化成MapReduce程序。

(1)Hive處理的數(shù)據(jù)存儲(chǔ)在HDFS

(2)Hive分析數(shù)據(jù)底層的實(shí)現(xiàn)是MapReduce

(3)執(zhí)行程序運(yùn)行在Yarm上

Hive的優(yōu)缺點(diǎn)

優(yōu)點(diǎn)

(1)操作接口采用類SQL語(yǔ)法,提供快速開(kāi)發(fā)的能力(簡(jiǎn)單、容易上手)

(2)避免了去寫MapReduce,減少開(kāi)發(fā)人員的學(xué)習(xí)成本

(3)Hive的執(zhí)行延遲比較高,因此Hive常用于數(shù)據(jù)分析,對(duì)實(shí)時(shí)性要求不高的場(chǎng)合

(4)Hive優(yōu)勢(shì)在于處理大數(shù)據(jù),對(duì)于處理小數(shù)據(jù)沒(méi)有優(yōu)勢(shì),這是由于Hive的執(zhí)行延遲比較高造成的

(5)HIve支持用戶自定義函數(shù),用戶可以根據(jù)自己的需求來(lái)實(shí)現(xiàn)自己的函數(shù)

缺點(diǎn)

  1. Hive的HQL表達(dá)能力有限

    (1) 迭代式算法無(wú)法表達(dá)

    (2) 數(shù)據(jù)挖掘方面不擅長(zhǎng),由于MapReduce數(shù)據(jù)處理流程的限制,效率更高的算法卻無(wú)法實(shí)現(xiàn)。

  2. Hive的效率比較低

    (1) Hive自動(dòng)生成的MapReduce作業(yè),通常情況下不夠智能化

    (2) Hive調(diào)優(yōu)比較困難,粒度較粗。

Hive架構(gòu)原理

  1. 用戶接口:Client
    CLI ( command-line interface) 、 JDBC/ODBC(jdbc訪問(wèn) hive)、WEBUI(瀏覽器訪問(wèn)hive)
  2. 元數(shù)據(jù):Metastore
    元數(shù)據(jù)包括:表名、表所屬的數(shù)據(jù)庫(kù)(默認(rèn)是default)、表的擁有者、列/分區(qū)字段、表的類型(是否是外部表)、表的數(shù)據(jù)所在目錄等;
    默認(rèn)存儲(chǔ)在自帶的derby數(shù)據(jù)庫(kù)中,推薦使用MySQL存儲(chǔ)Metastore
  3. Hadoop
    使用HDFS進(jìn)行存儲(chǔ),使用MapReduce進(jìn)行計(jì)算。
  4. 驅(qū)動(dòng)器:Driver
    (1)解析器(SQLParser):將SQL字符串轉(zhuǎn)換成抽象語(yǔ)法樹(shù)AST,這一步一般都用第三方工具庫(kù)完成,比如 antlr;對(duì)AST進(jìn)行語(yǔ)法分析,比如表是否存在、字段是否存在、SQL語(yǔ)義是否有誤。
    (2)編譯器(Physical Plan):將AST編譯生成邏輯執(zhí)行計(jì)劃。
    (3)優(yōu)化器(Query Optimizer) :對(duì)邏輯執(zhí)行計(jì)劃進(jìn)行優(yōu)化。
    (4)執(zhí)行器(Execution):把邏輯執(zhí)行計(jì)劃轉(zhuǎn)換成可以運(yùn)行的物理計(jì)劃。對(duì)于Hive來(lái)說(shuō),就是MR/Spark。

Hive通過(guò)給用戶提供的一系列交互接口,接收到用戶的指令(SQL),使用自己的 Driver,結(jié)合元數(shù)據(jù)(MetaStore),將這些指令翻譯成MapReduce,提交到Hadoop中執(zhí)行,最后,將執(zhí)行返回的結(jié)果輸出到用戶交互接口。

Hive和數(shù)據(jù)庫(kù)比較

由于Hive采用了類似SQL的查詢語(yǔ)言HQL(Hive Query Language),因此很容易將Hive理解為數(shù)據(jù)庫(kù)。其實(shí)從結(jié)構(gòu)上來(lái)看,Hive和數(shù)據(jù)庫(kù)除了擁有類似的查詢語(yǔ)言,再無(wú)類似之處。本文將從多個(gè)方面來(lái)闡述Hive和數(shù)據(jù)庫(kù)的差異。數(shù)據(jù)庫(kù)可以用在Online的應(yīng)用中,但是Hive是為數(shù)據(jù)倉(cāng)庫(kù)而設(shè)計(jì)的,清楚這一點(diǎn),有助于從應(yīng)用角度理解Hive的特性。

1.查詢語(yǔ)言

由于 SQL 被廣泛的應(yīng)用在數(shù)據(jù)倉(cāng)庫(kù)中,因此,專門針對(duì)Hive 的特性設(shè)計(jì)了類SQL的查詢語(yǔ)言 HQL。熟悉 SQL開(kāi)發(fā)的開(kāi)發(fā)者可以很方便的使用 Hive進(jìn)行開(kāi)發(fā)。

2.數(shù)據(jù)更新

由于 Hive是針對(duì)數(shù)據(jù)倉(cāng)庫(kù)應(yīng)用設(shè)計(jì)的,而數(shù)據(jù)倉(cāng)庫(kù)的內(nèi)容是讀多寫少的。因此,Hive中不建議對(duì)數(shù)據(jù)的改寫,所有的數(shù)據(jù)都是在加載的時(shí)候確定好的。而數(shù)據(jù)庫(kù)中的數(shù)據(jù)通常是需要經(jīng)常進(jìn)行修改的,因此可以使用 INSERTINTO... VALUES添加數(shù)據(jù),使用 UPDATE ...SET 修改數(shù)據(jù)。

3.執(zhí)行延遲

Hive在查詢數(shù)據(jù)的時(shí)候,由于沒(méi)有索引,需要掃描整個(gè)表,因此延遲較高。

另外一個(gè)導(dǎo)致Hive執(zhí)行延遲高的因素是 MapReduce 框架。由于MapReduce本身具有較高的延遲,因此在利用 MapReduce 執(zhí)行 Hive查詢時(shí),也會(huì)有較高的延遲。相對(duì)的,數(shù)據(jù)庫(kù)的執(zhí)行延遲較低。當(dāng)然,這個(gè)低是有條件的,即數(shù)據(jù)規(guī)模較小,當(dāng)數(shù)據(jù)規(guī)模大到超過(guò)數(shù)據(jù)庫(kù)的處理能力的時(shí)候,Hive的并行計(jì)算顯然能體現(xiàn)出優(yōu)勢(shì)。

4.數(shù)據(jù)規(guī)模

由于Hive建立在集群上并可以利用 MapReduce 進(jìn)行并行計(jì)算,因此可以支持很大規(guī)模的數(shù)據(jù);對(duì)應(yīng)的,數(shù)據(jù)庫(kù)可以支持的數(shù)據(jù)規(guī)模較小。

摘自尚硅谷

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/125937.html

相關(guān)文章

  • Hive系列文章(2):Hive介紹

    摘要:從中獲取用戶對(duì)查詢樹(shù)中的表達(dá)式進(jìn)行數(shù)據(jù)類型檢查和基于分區(qū)的查詢預(yù)測(cè)所需的元數(shù)據(jù)信息。生成的執(zhí)行計(jì)劃是一個(gè)由不同的組成的有向無(wú)環(huán)圖,每個(gè)有可能是一個(gè)任務(wù),或者元數(shù)據(jù)信息操作,或者操作。如果任務(wù)執(zhí)行會(huì)導(dǎo)致元素局信息的變動(dòng),會(huì)通知進(jìn)行元數(shù)據(jù)修改。 本系列文章使用的硬件環(huán)境為:centOS 6.5 64bit / 4G RAM 30G HHD使用的Hive版本為: hive2.0.0 / H...

    keithxiaoy 評(píng)論0 收藏0
  • SparkSQL 在有贊的實(shí)踐

    摘要:在有贊的技術(shù)演進(jìn)。業(yè)務(wù)數(shù)據(jù)量正在不斷增大,這些任務(wù)會(huì)影響業(yè)務(wù)對(duì)外服務(wù)的承諾。監(jiān)控需要收集上執(zhí)行的的審計(jì)信息,包括提交者執(zhí)行的具體,開(kāi)始結(jié)束時(shí)間,執(zhí)行完成狀態(tài)。還有一點(diǎn)是詳細(xì)介紹了的原理,實(shí)踐中設(shè)置了的比默認(rèn)的減少了以上的時(shí)間。 前言 有贊數(shù)據(jù)平臺(tái)從2017年上半年開(kāi)始,逐步使用 SparkSQL 替代 Hive 執(zhí)行離線任務(wù),目前 SparkSQL 每天的運(yùn)行作業(yè)數(shù)量5000個(gè),占離線...

    hzx 評(píng)論0 收藏0
  • SparkSQL 在有贊的實(shí)踐

    摘要:在有贊的技術(shù)演進(jìn)。業(yè)務(wù)數(shù)據(jù)量正在不斷增大,這些任務(wù)會(huì)影響業(yè)務(wù)對(duì)外服務(wù)的承諾。監(jiān)控需要收集上執(zhí)行的的審計(jì)信息,包括提交者執(zhí)行的具體,開(kāi)始結(jié)束時(shí)間,執(zhí)行完成狀態(tài)。還有一點(diǎn)是詳細(xì)介紹了的原理,實(shí)踐中設(shè)置了的比默認(rèn)的減少了以上的時(shí)間。 前言 有贊數(shù)據(jù)平臺(tái)從2017年上半年開(kāi)始,逐步使用 SparkSQL 替代 Hive 執(zhí)行離線任務(wù),目前 SparkSQL 每天的運(yùn)行作業(yè)數(shù)量5000個(gè),占離線...

    Xufc 評(píng)論0 收藏0
  • 【Trafodion使用技巧篇】Trafodion數(shù)據(jù)加載介紹

    摘要:用例測(cè)試表繼續(xù)用上述的創(chuàng)建測(cè)試文件,內(nèi)容如下創(chuàng)建文件,內(nèi)容如下根據(jù)文件加載數(shù)據(jù)檢查數(shù)據(jù)是否轉(zhuǎn)換成功初試主要是針對(duì)大數(shù)據(jù)量的且一般是批量裝載的方式。 Trafodion 的數(shù)據(jù)加載主要包括兩種方法,即 Trickle Load(持續(xù)加載) 和 Bulk Load(批量加載)。下表介紹了兩種加載方法的區(qū)別: 類型 描述 方法/工具 Trickle Load 數(shù)據(jù)量較小,立即插入 ...

    KunMinX 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<