中文在线免费看视频_国产成人精品亚洲日本在线观看_亚洲精品第一综合99久久_国产亚洲精品日韩综合网

當前位置: 首頁 / 技術干貨 / 正文
好程序員大數(shù)據(jù)培訓分享Hive基礎知識講解

2020-08-05

大數(shù)據(jù)培訓 Hive

  今天好程序員大數(shù)據(jù)培訓老師給大家技術介紹一下關于Hive的一些基礎知識,首先Hive作為數(shù)據(jù)倉庫,起源于Facebook,工作原理大致可以解釋為:對用戶輸入的HQL語句進行解釋,編譯,優(yōu)化并執(zhí)行生成查詢計劃,并轉(zhuǎn)化為MapReduce任務進而執(zhí)行:解釋器——編譯器——優(yōu)化器——執(zhí)行器。

好程序員

  

大數(shù)據(jù)1

 

  Hive的元數(shù)據(jù)一般存儲在關系型數(shù)據(jù)庫中,如MySql;

  底層存儲用到的是HDFS分布式存儲系統(tǒng)。它的優(yōu)點:1.?簡單易上手:提供了類SQL查詢語言HQL;2.可擴展:為超大數(shù)據(jù)集設計了計算/擴展能力(MR作為計算引擎,HDFS作為存儲系統(tǒng));3.提供統(tǒng)一的元數(shù)據(jù)管理;4.Hive支持用戶自定義函數(shù),用戶可以根據(jù)自己的需求來實現(xiàn)自己的函數(shù):繼承hive的UDF類,重寫evaluate方法;5.容錯:良好的容錯性,節(jié)點出現(xiàn)問題SQL仍可完成執(zhí)行;

  缺點:1.Hive的HQL表達能力有限;2.效率比較低,自動生成的Mapreduce作業(yè),通常情況下不夠智能化,且調(diào)優(yōu)比較困難;

  Hive用戶接口

  1)HiveCLI(HiveCommandLine,Hive命令行),客戶端可以直接在命令行模式下進行操作

  2)HWI(HiveWebInterface,HiveWeb接口),Hive提供了更直觀的Web界面

  3)hiveserver,Hive提供了Thrift服務,Thrift客戶端目前支持C++/Java/PHP/Python/Ruby

  Hive常用文件格式:

  Textfile:默認格式,數(shù)據(jù)不做壓縮,磁盤開銷大,數(shù)據(jù)解析開銷大;

  SEQUENCEFILE:SequenceFile是HadoopAPI提供的一種二進制文件支持,其具有使用方便、可分割、可壓縮的特點;

  rcfile:RCFILE是一種行列存儲相結合的存儲方式。首先,其將數(shù)據(jù)按行分塊,保證同一個record在一個塊上,避免讀一個記錄需要讀取多個block。其次,塊數(shù)據(jù)列式存儲,有利于數(shù)據(jù)壓縮和快速的列存取;

  parquet:ApacheParquet是Hadoop生態(tài)圈中一種新型列式存儲格式,它可以兼容Hadoop生態(tài)圈中大多數(shù)計算框架;

  Hive數(shù)據(jù)導入導出

  Hive表中的數(shù)據(jù),同時支持從本地數(shù)據(jù)導入、從其他表導入數(shù)據(jù)、導出數(shù)據(jù)到本地文件系統(tǒng)、導出數(shù)據(jù)到HDFS中

  Hive基本語句

  Hive建表語句基本跟關系型數(shù)據(jù)庫建表語句相同,區(qū)別在于語句尾端指定了列分隔符:

  ROWFORMATDELIMITEDFIELDSTERMINATEDBY‘,’

  指定了列分隔符為“,”;

  對于分區(qū)表,會有分區(qū)字段的說明:

  PARTITIONEDBY(countrySTRING,stateSTRING)

  用“country“、”state”兩個字段分區(qū);

  以及指定存儲文件的格式:

  STOREDASTEXTFILE。

  關于內(nèi)連接、外連接和半連接:

  幾種連接區(qū)別簡單概括為:內(nèi)連接只顯示了倆張表都存在的數(shù)據(jù),而外連接則是顯示出所有的數(shù)據(jù),其中左連接是左外邊的表輸出完整數(shù)據(jù)。右外連接是右邊的表輸出完整數(shù)據(jù),全外連接就是兩張表的所有行全部輸出。做半連接用來補充Hive相對于MySQL等語句缺失的in/exists這樣的子句,就用leftjoin代替,和leftjoin的區(qū)別在于右邊的表數(shù)據(jù)不會加載進結果;

  orderby和sortby:

  ORDERBY會對查詢結果集執(zhí)行一個全局排序,所有的數(shù)據(jù)都通過一個reducer進行處理;SORTBY,其只會在每個reducer中對數(shù)據(jù)進行排序,也就是執(zhí)行一個局部排序過程,生產(chǎn)中可以和DISTRIBUTEBY一起用,實現(xiàn)分區(qū)并排序。

好程序員公眾號

  • · 剖析行業(yè)發(fā)展趨勢
  • · 匯聚企業(yè)項目源碼

好程序員開班動態(tài)

More+
  • HTML5大前端 <高端班>

    開班時間:2021-04-12(深圳)

    開班盛況

    開班時間:2021-05-17(北京)

    開班盛況
  • 大數(shù)據(jù)+人工智能 <高端班>

    開班時間:2021-03-22(杭州)

    開班盛況

    開班時間:2021-04-26(北京)

    開班盛況
  • JavaEE分布式開發(fā) <高端班>

    開班時間:2021-05-10(北京)

    開班盛況

    開班時間:2021-02-22(北京)

    開班盛況
  • Python人工智能+數(shù)據(jù)分析 <高端班>

    開班時間:2021-07-12(北京)

    預約報名

    開班時間:2020-09-21(上海)

    開班盛況
  • 云計算開發(fā) <高端班>

    開班時間:2021-07-12(北京)

    預約報名

    開班時間:2019-07-22(北京)

    開班盛況
IT培訓IT培訓
在線咨詢
IT培訓IT培訓
試聽
IT培訓IT培訓
入學教程
IT培訓IT培訓
立即報名
IT培訓

Copyright 2011-2023 北京千鋒互聯(lián)科技有限公司 .All Right 京ICP備12003911號-5 京公網(wǎng)安備 11010802035720號