初識Hive

前言

Hive是基于Hadoop的一個數(shù)據(jù)倉庫工具,可以將結(jié)構(gòu)化的數(shù)據(jù)文件映射為一張數(shù)據(jù)庫表,并提供類SQL查詢功能。
其本質(zhì)是將SQL轉(zhuǎn)換為MapReduce的任務(wù)進(jìn)行運(yùn)算,底層由HDFS來提供數(shù)據(jù)的存儲,Hive可以理解為一個將SQL轉(zhuǎn)換為MapReduce任務(wù)的工具,甚至更進(jìn)一步可以說Hive就是一個MapReduce的客戶端。

Hive的特點(diǎn)

  • 可擴(kuò)展
    Hive可以自由的擴(kuò)展集群的規(guī)模,一般情況下不需要重啟服務(wù)。
  • 延展性
    Hive支持用戶自定義函數(shù),用戶可以根據(jù)自己的需求來實(shí)現(xiàn)自己的函數(shù)。
  • 容錯
    Hive有良好的容錯性,節(jié)點(diǎn)出現(xiàn)問題SQL仍可完成執(zhí)行。

Hive架構(gòu)

  • 用戶接口
    包括CLI、JDBC/ODBC、WebGUI。其中,CLI(command line interface)為shell命令行;JDBC/ODBC是Hive的JAVA實(shí)現(xiàn),與傳統(tǒng)數(shù)據(jù)庫JDBC類似;WebGUI是通過瀏覽器訪問Hive。
  • 元數(shù)據(jù)存儲
    通常是存儲在關(guān)系數(shù)據(jù)庫如mysql/derby中。Hive 將元數(shù)據(jù)存儲在數(shù)據(jù)庫中。Hive 中的元數(shù)據(jù)包括表的名字,表的列和分區(qū)及其屬性,表的屬性(是否為外部表等),表的數(shù)據(jù)所在目錄等。
  • 解釋器、編譯器、優(yōu)化器、執(zhí)行器
    完成HQL 查詢語句從詞法分析、語法分析、編譯、優(yōu)化以及查詢計劃的生成。生成的查詢計劃存儲在HDFS 中,并在隨后有MapReduce 調(diào)用執(zhí)行。

Hive的數(shù)據(jù)存儲

1、Hive中所有的數(shù)據(jù)都存儲在 HDFS 中,沒有專門的數(shù)據(jù)存儲格式(可支持Text,SequenceFile,ParquetFile,ORC格式RCFILE等)
2、只需要在創(chuàng)建表的時候告訴 Hive 數(shù)據(jù)中的列分隔符和行分隔符,Hive 就可以解析數(shù)據(jù)。
3、Hive 中包含以下數(shù)據(jù)模型:DB、Table,External Table,Partition,Bucket。

  • db:在hdfs中表現(xiàn)為${hive.metastore.warehouse.dir}目錄下一個文件夾
  • table:在hdfs中表現(xiàn)所屬db目錄下一個文件夾
  • external table:與table類似,不過其數(shù)據(jù)存放位置可以在任意指定路徑
  • partition:在hdfs中表現(xiàn)為table目錄下的子目錄(分區(qū))
  • bucket:在hdfs中表現(xiàn)為同一個表目錄下根據(jù)hash散列之后的多個文件(分桶)
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 轉(zhuǎn)載自:https://www.cnblogs.com/qingyunzong/p/8707885.html Hi...
    Lucky_Gao閱讀 401評論 0 1
  • Spark SQL, DataFrames and Datasets Guide Overview SQL Dat...
    草里有只羊閱讀 18,551評論 0 85
  • Hive是一個數(shù)據(jù)倉庫基礎(chǔ)工具,在Hadoop中用來處理結(jié)構(gòu)化的數(shù)據(jù)。它架構(gòu)在Hadoop之上,hive底層數(shù)據(jù)存...
    井地兒閱讀 1,000評論 0 1
  • Hive是基于Hadoop的一個數(shù)據(jù)倉庫工具,可以將結(jié)構(gòu)化的數(shù)據(jù)文件映射為一張數(shù)據(jù)庫表,并提供類SQL查詢功能。本...
    felix521閱讀 1,420評論 0 0
  • 【什么是大數(shù)據(jù)、大數(shù)據(jù)技術(shù)】 大數(shù)據(jù),又稱巨量資料,指的是所涉及的數(shù)據(jù)資料量規(guī)模巨大到無法在合理時間內(nèi)通過傳統(tǒng)的應(yīng)...
    kimibob閱讀 2,901評論 0 51

友情鏈接更多精彩內(nèi)容