国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

最近怎么流量漲這么多?那我開(kāi)始講Hive特性了!

這篇具有很好參考價(jià)值的文章主要介紹了最近怎么流量漲這么多?那我開(kāi)始講Hive特性了!。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

Hive架構(gòu)原理

a.用戶接口:Client

  • CLI(Hive shell)、JDBC/ODBC(java訪問(wèn)hive)、Hive WEBUI(瀏覽器訪問(wèn)hive)和Thrift服務(wù)器
    b.驅(qū)動(dòng)器:Driver
  • 解析器(SQL Parser):將SQL字符串轉(zhuǎn)換成抽象語(yǔ)法樹(shù)AST,這一步一般都用第三方工具庫(kù)完成,比如antlr;對(duì)AST進(jìn)行語(yǔ)法分析,比如表是否存在、字段是否存在、SQL語(yǔ)義是否有誤。
  • 編譯器(Physical Plan):將AST編譯生成邏輯執(zhí)行計(jì)劃
  • 優(yōu)化器(Query Optimizer):對(duì)邏輯執(zhí)行計(jì)劃進(jìn)行優(yōu)化。
  • 執(zhí)行器(Execution):把邏輯執(zhí)行計(jì)劃轉(zhuǎn)換成可以運(yùn)行的物理計(jì)劃對(duì)于Hive來(lái)說(shuō),就是MR/Spark
    c.元數(shù)據(jù):MetaStore
  • 通俗來(lái)說(shuō),元數(shù)據(jù)就是“數(shù)據(jù)的數(shù)據(jù)”,例如一張表里有許多數(shù)據(jù),而元數(shù)據(jù)則是在描述該表的相關(guān)信息,例如創(chuàng)建時(shí)間、列數(shù)、行數(shù)等。Hive的元數(shù)據(jù)默認(rèn)儲(chǔ)存在derby數(shù)據(jù)庫(kù)里,但推薦儲(chǔ)存在MySQL里。
    d.存儲(chǔ)和計(jì)算
  • 使用HDFS進(jìn)行存儲(chǔ),使用MapReduce進(jìn)行計(jì)算
  • 一句話概括:Hive通過(guò)給用戶提供的一系列交互接口,接收到用戶的指令(SQL),使用自己的Driver,結(jié)合元數(shù)據(jù)(MetaStore),將這些指令翻譯成MapReduce,提交到Hadoop中執(zhí)行,最后,將執(zhí)行返回的結(jié)果輸出到用戶交互接口

索引!

  • Hive在加載數(shù)據(jù)的過(guò)程中不會(huì)對(duì)數(shù)據(jù)進(jìn)行任何處理,甚至不會(huì)對(duì)數(shù)據(jù)進(jìn)行掃描,因此也沒(méi)有對(duì)數(shù)據(jù)中的某些Key建立索引
  • Hive要訪問(wèn)數(shù)據(jù)中滿足條件的特定值時(shí),需要暴力掃描整個(gè)數(shù)據(jù),因此訪問(wèn)延遲較高。由于 MapReduce 的引入, Hive 可以并行訪問(wèn)數(shù)據(jù),因此即使沒(méi)有索引,對(duì)于大量數(shù)據(jù)的訪問(wèn),Hive 仍然可以體現(xiàn)出優(yōu)勢(shì)但由于數(shù)據(jù)的訪問(wèn)延遲較高,決定了 Hive 不適合在線數(shù)據(jù)查詢
    • 延遲原因:掃描整個(gè)表、底層MR延遲也高
    • 數(shù)據(jù)庫(kù)的低延遲是有條件的,當(dāng)數(shù)據(jù)庫(kù)單獨(dú)處理不了超大規(guī)模數(shù)據(jù)時(shí),并行提供的優(yōu)勢(shì)就大于低延遲的單個(gè)個(gè)體了
  • 而在數(shù)據(jù)庫(kù)中,通常會(huì)針對(duì)一個(gè)或者幾個(gè)列建立索引,提升訪問(wèn)特定條件下數(shù)據(jù)訪問(wèn)的效率,并擁有較低的延遲

建表

CREATE [EXTERNAL] TABLE [IF NOT EXISTS] table_name [(col_name data_type [COMMENT col_comment], ...)] [COMMENT table_comment] [PARTITIONED BY (col_name data_type [COMMENT col_comment], …)]
[CLUSTERED BY (col_name, col_name, ...) [SORTED BY (col_name [ASC|DESC], …)] INTO num_buckets BUCKETS]
[ROW FORMAT row_format] [STORED AS file_format]
`` [LOCATION hdfs_path];

  • EXTERNAL關(guān)鍵字可以讓用戶創(chuàng)建一個(gè)外部表,在建表的同時(shí)指定一個(gè)指向?qū)嶋H數(shù)據(jù)的路徑(LOCATION),Hive創(chuàng)建內(nèi)部表時(shí),會(huì)將數(shù)據(jù)移動(dòng)到數(shù)據(jù)倉(cāng)庫(kù)指向的路徑。
  • 若創(chuàng)建外部表,僅記錄數(shù)據(jù)所在的路徑,不對(duì)數(shù)據(jù)的位置做任何改變
  • 在刪除表的時(shí)候,內(nèi)部表的元數(shù)據(jù)和數(shù)據(jù)會(huì)被一起刪除,而外部表只刪除元數(shù)據(jù),不刪除數(shù)據(jù)
  • STORED AS ORC:下次試一下以O(shè)RC文件存儲(chǔ)一張表,養(yǎng)成這樣的習(xí)慣,這個(gè)表只有優(yōu)點(diǎn)

內(nèi)部表和外部表

  • **內(nèi)部表:**默認(rèn)創(chuàng)建的表都是內(nèi)部表,或稱(chēng)管理表managed table。Hive會(huì)::或多或少地::控制著數(shù)據(jù)的生命周期。Hive默認(rèn)情況下會(huì)將這些表的數(shù)據(jù)存儲(chǔ)在由配置項(xiàng)hive.metastore.warehouse.dir(例如/user/hive/warehouse)所定義的目錄的子目錄下。 當(dāng)我們刪除一個(gè)管理表時(shí),Hive也會(huì)刪除這個(gè)表中數(shù)據(jù)。++管理表不適合和其他工具共享數(shù)據(jù)++
  • 外部表:如果表是外部表,那么Hive并非認(rèn)為其完全擁有這份數(shù)據(jù)刪除該表并不會(huì)刪除掉這份數(shù)據(jù),不過(guò)描述表的元數(shù)據(jù)信息會(huì)被刪除掉。::所以建一張外部表的實(shí)質(zhì)是在元數(shù)據(jù)建立一個(gè)路徑指向外部數(shù)據(jù)源::,刪除外部表只是刪除元數(shù)據(jù)里的信息而原始數(shù)據(jù)不會(huì)刪除,當(dāng)重建表時(shí)可直接讀取原始數(shù)據(jù)

分區(qū)

究其實(shí)質(zhì),建一張表就是建一個(gè)文件夾,然后把數(shù)據(jù)放在該文件夾里;而分區(qū)則是指在這個(gè)文件夾(table)下又建立一個(gè)子文件夾,把歸屬這個(gè)分區(qū)的數(shù)據(jù)放在這個(gè)子文件夾中。最為常見(jiàn)的分區(qū)字段就是日期字段,如20200630的數(shù)據(jù)會(huì)放在該表下‘20200630’歸屬的文件夾里。::以后會(huì)出現(xiàn)分區(qū)刪除等操作,所以掌握分區(qū)非常重要::文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-773833.html

  • 分區(qū)的好處在于提供數(shù)據(jù)查詢效率,當(dāng)需要某個(gè)分區(qū)數(shù)據(jù)時(shí)Hive只需要去掃描該表下所需子文件夾即可,而不用全表掃描一遍。++是有點(diǎn)像跳表的索引層,不過(guò)會(huì)不會(huì)允許像跳表一樣重疊,這個(gè)需要進(jìn)一步學(xué)習(xí)++
  • 分區(qū)需要在建表時(shí)進(jìn)行,語(yǔ)句為:PARTITIONED BY (col_name data_type)
  • 增加一個(gè)分區(qū)時(shí):alter table table_name add partition(dt='20200630');
  • 增加多個(gè)分區(qū)時(shí):alter table table_name add partition(dt='20200630') partition(dt='20200701');
  • 刪除一個(gè)分區(qū)時(shí):alter table table_name drop partition(dt='20200630');
  • 刪除多個(gè)分區(qū)時(shí)(注意逗號(hào)!):alter table table_name drop partition(dt='20200630'),partition(dt='20200701');

其他科普小知識(shí)

  • 世界上最大的Hadoop 集群在 Yahoo!,2009年的規(guī)模在4000 臺(tái)節(jié)點(diǎn)左右,美團(tuán)近年來(lái)達(dá)到了6000臺(tái)以上。而數(shù)據(jù)庫(kù)由于** ACID 語(yǔ)義的嚴(yán)格限制,擴(kuò)展性非常有限**目前最先進(jìn)的并行數(shù)據(jù)庫(kù)Oracle在理論上的擴(kuò)展能力也只有100臺(tái)左右
    • 但好像Hadoop也沒(méi)有萬(wàn)臺(tái)那種,好像也不是很厲害……

到了這里,關(guān)于最近怎么流量漲這么多?那我開(kāi)始講Hive特性了!的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包