hive 的使用

mcxiaoracle發表於2022-06-18

hive是基於Hadoop的一個資料倉儲工具,可以將結構化的資料檔案對映為一張資料庫表,並提供簡單的sql查詢功能,可以將sql語句轉換為MapReduce任務進行執行。 其優點是學習成本低,可以透過類SQL語句快速實現簡單的MapReduce統計,不必開發專門的MapReduce應用,十分適合資料倉儲的統計分析。

Hive是建立在 Hadoop 上的資料倉儲基礎構架。它提供了一系列的工具,可以用來進行資料提取轉化載入(ETL),這是一種可以儲存、查詢和分析儲存在 Hadoop 中的大規模資料的機制。Hive 定義了簡單的類 SQL 查詢語言,稱為 HQL,它允許熟悉 SQL 的使用者查詢資料。同時,這個語言也允許熟悉 MapReduce 開發者的開發自定義的 mapper 和 reducer 來處理內建的 mapper 和 reducer 無法完成的複雜的分析工作。

Hive 沒有專門的資料格式。 Hive 可以很好的工作在 Thrift 之上,控制分隔符,也允許使用者指定資料格式。

Hive是:提供一個大資料的SQL的介面,不做計算。用來做資料分析。

hive metastore(後設資料) 服務用來儲存 Hive 表的後設資料和分割槽。下面會介紹metastore的概念,現在先搞定安裝再說。hive 儲存 metastore有3種模式

在這種模式下,hive metastore 服務跟HiveServer程式共用一個程式,但是會另起一個執行緒來執行後設資料資料庫,這個執行緒有可能在另外一個機器上。內建的metastore服務跟metastore資料庫之間透過JDBC互動。比上一個方案更進一步了,但是還是不夠好,因為hive metastore跟HiveServer還共用一個程式呢,於是來介紹下CDH強烈推薦的第三種模式


在這種模式下,Hive metastore 服務執行在獨立的jvm程式裡面。 HiveServer2, HCatalog, Cloudera Impala™, 和其他程式透過 Thrift 的網路 API (在 hive.metastore.uris 屬性裡面配置)來跟它通訊。metastore 服務跟儲存 metastore 的資料庫之間透過JDBC (用 javax.jdo.option.ConnectionURL 屬性配置)通訊. 資料庫 , HiveServer 程式,和 metastore 服務可以執行在同一個機子上,但是如果把 HiveServer程式執行在另一臺機器上會更高的可用性(就是不要把雞蛋放在一個籃子裡啦)和擴充套件性。


————————————————




推薦閱讀:

原文連結:https://blog.csdn.net/nsrainbow/article/details/41748863


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69949806/viewspace-2901331/,如需轉載,請註明出處,否則將追究法律責任。

相關文章