Apache Hive 的資料倉儲(Data Warehouse)系統,是一個便於使用SQL語法對巨量資料集進行操作的工具。可以對已經存在的資料定義結構(Schema)後,以該資料結構進行SQL語法的查詢,並且提供command line 工具以及 JDBC driver,讓使用者可以連線到Hive所提供的 service進行資料操作。
Apache Hive 剛開始開發時只是Apache Hadoop的子專案,後來獨立出來就成為了Apache 的top project,其受歡迎的程度可想而知。
Apache Hive可以視為client工具,卻又需要依賴Hadoop運作,具有下列的優點:
Hive 的SQL語法符合標準SQL,包含最新的SQL-2003與SQL-2011。標準SQL語法會因為Hive版本而有所不同,可以看下列的連結:
Hive除了內建的SQL function以外(如 max,avg等等)也可以自定義使用者函式(user defined functions (UDFs))或者user defined aggregates (UDAFs)與user defined table functions (UDTFs)。
假設資料儲存在HDFS,可透過Hive建立meta後以SQL語法進行查詢,其支援的檔案格式可以是CSV/TSV,或者Apache Parquet、Apache ORC等等,甚至可以自行實作支援的資料格式,詳情可以查看開發者手冊。
在接下來的篇章會介紹下列有關Apache Hive的項目: