Apache Hive編程指南-蔣中洲

Apache Hive

概述

Hive是建立在 Hadoop 上的數據倉庫基礎構架。它提供了一系列的工具,可以用來進行數據提取轉化加載(ETL),這是一種可以存儲、查詢和分析存儲在 Hadoop 中的大規模數據的機制。 Hive 查詢操作過程嚴格遵守Hadoop MapReduce 的作業執行模型,Hive 將用戶的HiveQL 語句通過解釋器轉換爲提交到Hadoop 集羣上,Hadoop 監控作業執行過程,然後返回作業執行結果給用戶。 Hive 並非爲聯機事務處理而設計,Hive 並不提供實時的查詢和基於行級的數據更新操作。Hive 的最佳使用場合是大數據集的批處理作業,例如,網絡日誌分析等。
hive結構
Hive是基於Hadoop的一個數據倉庫工具,可以將結構化的數據文件映射爲一張數據庫表,並提供完整的SQL查詢功能,可以將SQL語句轉換爲MapReduce任務進行運行。其優點是學習成本低,可以通過類SQL語句快速實現簡單的MapReduce統計,不必開發專門的MapReduce應用,十分適合數據倉庫的統計分析。同時,Hive也是建立在Hadoop上的數據倉庫基礎構架。它提供了一系列的工具,可以用來進行數據提取轉化加載(ETL),並且提供了存儲、查詢和分析Hadoop中的大規模數據的機制。Hive定義了簡單的類SQL查詢語言,稱爲HQL,它允許熟悉SQL的用戶查詢數據。這個語言也允許熟悉MapReduce的開發者的設計自定義的Mapper和Reducer來處理內建的Mapper和Reducer無法完成的複雜的分析工作。

架構

Hive提供了一個SQL命令的操作接口,允許用戶可以使用類似SQL的Hive的Query Language執行一些離線的SQL分析。但是Hive和傳統的數據庫不同,Hive只是構建在Hadoop的MapReduce之上的SQL解析工具,並不參與數據的管理和存儲,Hive中所有的數據都是在運行任務的時候纔會真正的

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章