Apache Hive簡介

原文鏈接:https://cwiki.apache.org/confluence/display/HIVE

       Apache Hive數據倉庫軟件設施,可以讀、寫和管理分佈式存儲上的大數據集(large datasets),並且可以通過SQL去查詢數據集。

       在Apache Hadoop之上構建的Hive,有如下的特性:

  • 提供了通過SQL就可以輕鬆訪問數據的工具集,因此可以實現諸如抽取/轉換/裝載(ETL)任務、報表任務、數據分析這些數據倉庫任務
  • 提供了一個機制,可以在各種數據格式上創建結構(爲數據賦予表結構)
  • 可以直接訪問HDFS上的數據文件,或者訪問其他存儲系統上的文件,比如HBase
  • 查詢通過Apache Tez或者Apache Spark或者MapReduce引擎執行
  • 通過HPL-SQL(Hive Hybrid Procedural SQL On Hadoop (HPL/SQL) 是一個從Hive2.0.0開始爲Hive實現的過程SQL工具)提供了過程語言
  • 通過Hive LLAP,Apache YARN和Apache Slider可以實現亞秒級數據查詢

       Hive提供了標準的SQL功能,包括用於分析的很多後來的SQL:2003和SQL:2011特性。
       Hive的SQL也可以根據用戶提供的代碼擴展,比如用戶定義函數(user-defined-functions,UDFs),用戶定義聚合(user-defined-aggregates,UDAFs)還有用戶定義表級函數(user-defined-table-functions,UDTFs)。

       Hive沒有強調數據必須存儲成什麼格式的。Hive自帶了一些連接器,支持逗號(comma separated values,CSV)和製表符(table separated values,TSV)分割的文本文件,還有Apache Parquet,Apache ORC等等格式。
       用戶還可以自己擴展其他格式的Hive連接器,請參考開發者指南上關於文件格式和Hive序列化反序列化的詳細說明。

       Hive不是爲在線事務處理數據而設計的。最好把Hive用於傳統的數據倉庫任務。
       Hive被設計用於最大化伸縮性(支持Hadoop集羣上動態增加機器的伸縮性)、性能、擴展性、容錯性,並且和它的輸入數據鬆耦合。

       Hive組件還包括HCatalog和WebHCat:

  • HCatalog是Hive的一個組成部分,它是Hadoop上的一個表格和存儲管理層,使用戶可以用不同的數據處理工具(包括Pig和MapReduce)來更容易地讀寫數據。
  • WebHCat提供了一個可以讓用戶通過REST風格的HTTP接口來運行Hadoop MapReduce(或者YARN)、Pig、Hive任務或者進行Hive元數據操作的服務。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章