Hive學習筆記:一初識

來源:互聯網
上載者:User

標籤:

Hive是什嗎?

Hive是建立在 Hadoop 上的資料倉儲基礎構架。它提供了一系列的工具,可以用來進行資料提取轉化載入(ETL),這是一種可以儲存、查詢和分析儲存在Hadoop 中的大規模資料的機制。Hive定義了簡單的類SQL 查詢語言,稱為HQL,它允許熟悉SQL 的使用者查詢資料。同時,這個語言也允許熟悉MapReduce 開發人員的開發自訂的mapper 和reducer  來處理內建的mapper和reducer 無法完成的複雜的分析工作(UDF)。
Hive是SQL解析引擎,它將SQL語句轉譯成M/RJob然後在Hadoop執行。Hive的表其實就是HDFS的目錄,按表名把檔案夾分開。如果是分區表,則分區值是子檔案夾,可以直接在M/RJob裡使用這些資料。
        HIve的表----------HDFS的目錄
        HIve的資料--------HDFS的目錄下面的(資料)檔案
        Hive中行列--------HDFS的目錄下面的資料檔案的行列

Hive相當於hadoop的用戶端工具,部署時不一定放在叢集管理節點中,可以放在某個節點上。Hive強調的地方: 海量資料的儲存、載入,海量資料查詢,hive不支援事務。
Hive的資料存放區Hive的資料存放區基於Hadoop HDFSHive沒有專門的資料存放區格式儲存結構主要包括:資料庫、檔案、表、視圖、索引Hive預設可以直接載入文字檔(TextFile),還支援SequenceFile、RCFile建立表時,指定Hive資料的資料行分隔符號與行分隔字元,Hive即可解析資料
Hive的體繫結構
使用者介面主要有三個:CLI,JDBC/ODBC和 WebUI
CLI,即Shell命令列
JDBC/ODBC 是 Hive 的Java,與使用傳統資料庫JDBC的方式類似
WebGUI是通過瀏覽器訪問 Hive
Hive 將中繼資料存放區在資料庫中(metastore),目前只支援 mysql、derby。Hive 中的中繼資料套件括表的名字,表的列和分區及其屬性,表的屬性(是否為外部表格等),表的資料所在目錄等
解譯器、編譯器、最佳化器完成 HQL 查詢語句從詞法分析、文法分析、編譯、最佳化以及查詢計劃(plan)的產生。產生的查詢計劃儲存在 HDFS 中,並在隨後由 MapReduce 調用執行
Hive 的資料存放區在 HDFS 中,大部分的查詢由 MapReduce 完成(包含 * 的查詢,比如 select * from table 不會產生 MapRedcue 任務)
Hive的中繼資料metastore是hive中繼資料的集中存放地。
metastore預設使用內嵌的derby資料庫作為儲存引擎
Derby引擎的缺點:一次只能開啟一個會話
使用MySQL作為外置儲存引擎,多使用者同時訪問



Hive學習筆記:一初識

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.