但現在我想整合數據並進行分析。這時,數據倉庫(DW)就派上了用場。它可以過濾和整合各種業務數據,並可用於數據分析、數據挖掘和數據報告。
壹般來說,數據倉庫按照壹定的主題集成來自多個數據源的數據。因為以前的數據是不同的,所以需要對其進行提取、清洗和轉換。
整合的數據不能隨便修改,只能分析,需要定期更新。
正如我們上面所說的,數據倉庫接收的數據源是不同的。如果要集成,我們需要三個步驟:提取、清洗和轉換,這就是ETL(提取-轉換-加載)。
中國最常用的數據倉庫是基於Hadoop的開源數據倉庫Hive,可以查詢和分析存儲在HDFS的文件數據。
Hive可以對外提供HiveQL,這是壹種類似於SQL語言的查詢語言。HiveQL語句在查詢時可以轉換為MapReduce任務,這些任務可以在Hadoop層執行。
Hive最大的優勢是它是免費的。其他知名的商業數據倉庫呢?例如Oracle和DB2,其中Teradata是行業領導者。
Teradata數據倉庫支持大規模並行處理平臺(MPP),可以高速處理海量數據。事實上,它的性能比Hive高得多。對於企業來說,他們只需要專註於業務,在管理技術上節省能源並最大化ROI。
如上所述,Hive是最著名的開源數據倉庫,它是Hadoop生態系統中的重要組件。
在Hadoop生態系統中,HDFS解決了分布式存儲問題,MapReduce解決了分布式計算問題,HBASE提供了壹種NoSQL存儲方法。
但是,如果您需要查詢HDFS的文件或HBASE的表格,則需要自定義MapReduce方法。Hive實際上是HDFS之上的壹個中間層,它允許業務人員直接使用SQL進行查詢。
因此Hive是通過數據抽取轉換來加載的,它可以將SQL轉換為MapReduce任務,Hive表是HDFS的目錄或文件。
上圖是Hive的架構。
Hive主要包括以下數據模型:
為什麽這篇文章是數據倉庫?註釋