什麼是 Apache Hive?

Apache Hive 是一種容錯的分散式資料倉儲系統,可進行大規模分析。資料倉儲提供資訊的中央存放區,可以輕鬆分析資料以作出明智且資料導向的決策。Hive 讓客戶使用 SQL 讀取、寫入與管理 PB 級資料。

Hive 建構在 Apache Hadoop 之上,這是一個用於有效儲存和處理大型資料集的開源框架。因此,Hive 與 Hadoop 密切整合,並且旨在快速處理 PB 的資料。Hive 獨一無二之處是能夠利用 Apache Tez 或 MapReduce 查詢大型資料集,並具有類似 SQL 的介面。

Hive 如何運作?

Hive 是為了允許熟悉 SQL 的非程式設計師使用類似 SQL 的介面,使用稱為 HiveQL 類似的 SQL 介面處理資料。傳統關聯式資料庫專為對中小型資料集進行互動式查詢而設計,並且不能很好處理大量資料集。Hive 是使用批次處理,以便在非常大的分散式資料庫中快速執行。Hive 將 HiveQL 查詢轉換為 MapReduce 或 Tez 工作,這些工作可在 Apache Hadoop 的分散式工作排程框架「另一個資源協商」(YARN) 上執行。它會查詢儲存在分散式儲存解決方案的資料,例如 Hadoop 分散式檔案系統 (HDFS) 或 Amazon S3。Hive 將其資料庫和表格中繼資料儲存在中繼存放區,這是一個資料庫或檔案支援的存放區,可輕鬆擷取和探索資料。

Hive 包括 HCatalog,這是一個表格和儲存管理層,可從 Hive 中繼存放區讀取資料,以便在 Hive、Apache Pig 和 MapReduce 之間進行無縫整合。經由使用中繼存放區,HCatalog 允許 Pig 和 MapReduce 使用與 Hive 相同的資料結構,因此不必為每個引擎重新定義中繼資料。自訂應用程式或第三方整合可使用 WebHCat,這是 HCatalog 的 RESTful API 來存取和重複使用 Hive 中繼資料。

Hive 具有哪些優勢?

快速

Hive 旨在使用批次處理來快速處理 PB 資料。

熟悉

Hive 提供了一個類似 SQL 的熟悉界面,讓非程式設計師可以存取。

可擴展性

Hive 可根據您的需求輕鬆分發和擴展。

Apache Hive 與阿帕奇 HBase 有什麼區別?

Apache HBase 是 NoSQL 分散式資料庫,可隨機、嚴格一致的即時存取資料資料。Apache Hive 是一個分散式資料倉儲系統,提供類似 SQL 的查詢功能。

效能特性

Apache Hive

Apache HBase

功能

類似 SQL 的查詢引擎,專為大容量資料儲存設計。支援多種檔案格式。

具有自訂查詢功能的低延遲分散式索引鍵值存放區。資料以欄導向格式儲存。

處理類型

使用 Apache Tez 或 MapReduce 計算框架進行批次處理。

即時處理。

延遲

中等到高,取決於運算引擎的響應速度。與同一資料磁碟區的單元查詢系統 (例如 RDBMS) 相比,分散式執行模型提供卓越的效能。

低,但可能不一致。在高度寫入負載下,HBase 架構的結構限制可能會導致延遲突發。

Hadoop 整合

在 Hadoop 上執行,使用 Apache Tez 或 MapReduce 進行處理,以及 HDFS 或 Amazon S3 進行儲存。

在 HDFS 或 Amazon S3 上執行。

SQL 支援

使用 HiveQL 提供類似 SQL 的查詢功能。

本身沒有 SQL 支持。您可使用 Apache Phoenix for SQL 功能。

結構描述

為所有表格定義的結構描述。

無模式。

資料類型

支援結構化和非結構化資料。為一般 SQL 資料類型提供原生支援,例如 INT、FLOAT 和 VARCHAR。

僅支援非結構化資料。使用者定義資料欄位的對應至 Java 支援的資料類型。

Hive 的使用案例是什麼?

Guardian 透過保險和財富管理產品和服務,為 27 萬成員提供他們應得的安全。Guardian 使用 Amazon EMR 在 S3 資料湖上執行 Apache Hive。Apache Hive 用於批次處理。S3 資料湖為 Guardian Direct 提供支援,這是一個數位平台,可讓消費者研究和購買保險業的 Guardian 產品和第三方產品。

FINRA (美國金融業監管局) 是美國最大的獨立安全監管機構,負責監督和規範金融交易實務。FINRA 使用 Amazon EMR 在 S3 資料湖上執行 Apache Hive。在 EMR 叢集上執行 Hive 可讓 FINRA 使用 SQL 處理和分析多達 90 億個事件的交易資料。與 FINRA 的內部部署解決方案相比,雲端資料湖節省高達 20 萬美元的成本,並大幅縮短了恢復和升級所需的時間。

Vanguard 是美國註冊投資顧問,是最大的共同基金提供商,也是第二大交易所交易基金提供商。Vanguard 使用 Amazon EMR 在 S3 資料湖上執行 Apache Hive。資料儲存在 S3 ,EMR 會在該資料之上構建一個 Hive 中繼存放區。Hive 中繼存放區包含有關 EMR 叢集中資料和表格的所有中繼資料,可輕鬆分析資料。Hive 還可讓分析師對儲存在 S3 資料湖的資料執行臨機 SQL 查詢。使用 Amazon EMR 移轉至 S3 資料湖,讓超過 150 位資料分析師能實現營運效率,並降低了 EC2 和 EMR 成本 60 萬美元。

AWS 如何支援 Hive?

Amazon EMR 提供最簡單、最快、最符合成本效益的受控 Hadoop 架構,使客戶能夠在動態可擴充的 EC2 執行個體中處理大量資料。客戶還可在 EMR 中執行其他流行的分散式架構,例如 Apache Hive、Spark、HBase、Presto 和 Flink。 

進一步了解 Amazon EMR

立即建立免費 AWS 帳戶,開始在 AWS 上使用 Apache Hive。

AWS 上的後續步驟

註冊免費帳戶

立即存取 AWS 免費方案。

註冊 
開始在主控台進行建置

開始在 AWS 管理主控台進行建置。

登入