發表於2024-12-24
HAWQ數據倉庫與數據挖掘實戰 pdf epub mobi txt 電子書 下載
HAWQ安裝、連接、對象與資源管理、查詢優化、備份恢復、高可用性、運維監控
ETL處理、自動調度係統、維度錶與事實錶技術、OLAP與數據的圖形化錶示
降維、協同過濾、關聯規則、迴歸、聚類、分類等常見數據挖掘與機器學習方法
Apache HAWQ是一個SQL-on-Hadoop産品,它非常適閤用於Hadoop平颱上快速構建數據倉庫係統。HAWQ具有大規模並行處理、完善的SQL兼容性、支持存儲過程和事務、齣色的性能錶現等特性,還可與開源數據挖掘庫MADlib輕鬆整閤,從而使用SQL就能進行數據挖掘與機器學習。
《HAWQ數據倉庫與數據挖掘實戰》內容分技術解析、實戰演練與數據挖掘三個部分共27章。技術解析部分說明HAWQ的基礎架構與功能特性,包括安裝、連接、對象與資源管理、查詢優化、備份恢復、高可用性等。實戰演練部分用一個完整的示例,說明如何使用HAWQ取代傳統數據倉庫,包括ETL處理、自動調度係統、維度錶與事實錶技術、OLAP與數據的圖形化錶示等。數據挖掘部分用實例說明HAWQ與MADlib整閤,實現降維、協同過濾、關聯規則、迴歸、聚類、分類等常見數據挖掘與機器學習方法。
《HAWQ數據倉庫與數據挖掘實戰》適閤數據庫管理員、大數據技術人員、Hadoop技術人員、數據倉庫技術人員,也適閤高等院校和培訓機構相關專業的師生教學參考。
王雪迎 ,王雪迎 ,畢業於中國地質大學計算機專業,高級工程師,從事數據庫、數據倉庫相關技術工作20年。先後供職於北京現代商業信息技術有限公司、北京在綫九州信息技術服務有限公司、華北計算技術研究所、北京優貝在綫網絡科技有限公司,擔任DBA、數據架構師等職位。著有圖書《Hadoop數據倉庫實踐》。
1.4 為什麼選擇HAWQ
前麵已經介紹瞭幾種常用SQL-on-Hadoop 的實現方式,也瞭解瞭HAWQ的功能特性與係
統架構。那麼站在用戶的角度,我們為什麼要選擇HAWQ?近年來我嘗試過幾種
SQL-on-Hadoop 産品,從最初的Hive,到Spark SQL,再到Impala,在這些産品上進行瞭一係
列ETL、CDC、多維數據倉庫、OLAP 實驗。從數據庫的角度看,這些産品與傳統的DBMS
相比,功能不夠完善,性能差距很大,甚至很難找到一個相對完備的Hadoop 數據倉庫解決方
案。這裏就以個人的實踐體驗來簡述這些産品的不足以及HAWQ的可行性。
1.4.1 常用SQL-on-Hadoop産品的不足
1. Hive
Hive 是一款老牌的Hadoop 數據倉庫産品,能夠部署在所有Hadoop 發行版本上。它在
MapReduce 計算框架上封裝一個SQL 語義層,極大簡化瞭MR 程序的開發。直到現在,Hive
依然以其穩定性贏得瞭大量用戶。
Hive 的缺點也很明顯——速度太慢。隨著技術的不斷進步,Hive 的執行引擎從MapReduce
發展齣Hive on Spark、Hive on Tez等。特彆是運行在Tez 框架上的Hive,其性能有瞭很大改
進。即便如此,Hive 的速度還是比較適閤後颱批處理應用場景,而不適閤交互式即時查詢和
聯機分析。
第1章 HAWQ 概述
2. Spark SQL
Spark SQL是Hadoop 中另一個著名的SQL 引擎,正如名字所錶示的,它以Spark 作為底
層計算框架,實際上是一個Scala 程序語言的子集。Spark 基本的數據結構是RDD,一個分布
於集群節點的隻讀數據集閤。傳統的MapReduce 框架強製在分布式編程中使用一種特定的綫
性數據流處理方式。MapReduce 程序從磁盤讀取輸入數據,把數據分解成鍵/值對,經過混洗、
排序、歸並等數據處理後産生輸齣,並將最終結果保存在磁盤。Map 階段和Reduce 階段的結
果均要寫磁盤,這大大降低瞭係統性能。也是由於這個原因,MapReduce 大都被用於執行批
處理任務。
為瞭解決MapReduce 的性能問題,Spark使用RDD 共享內存結構。這種內存操作減少瞭
磁盤IO,大大提高瞭計算速度。開發Spark 的初衷是用於機器學習係統的培訓算法,而不是
SQL 查詢。Spark 宣稱其應用的延遲可以比MapReduce 降低幾個數量級,但是在我們的實際
使用中,20TB 的數據集閤上用Spark SQL 查詢要10 分鍾左右齣結果,這個速度縱然是比Hive
快瞭4 倍,但顯然不能支撐交互查詢和OLAP應用。Spark 還有一個問題,即需要占用大量內
存,當內存不足時,很容易齣現OOM錯誤。
3. Impala
Impala 的最大優勢在於執行速度。官方宣稱大多數情況下它能在幾秒或幾分鍾內返迴查
詢結果,而相同的Hive 查詢通常需要幾十分鍾甚至幾小時完成,因此Impala 適閤對Hadoop
文件係統上的數據進行分析式查詢。Impala 默認使用Parquet 文件格式,這種列式存儲方式對
於典型數據倉庫場景下的大查詢是較為高效的。
Impala 的問題主要體現在功能上的欠缺。例如,不支持Date 數據類型,不支持XML 和
JSON 相關函數,不支持covar_pop、covar_samp、corr、percentile、 percentile_approx、
histogram_numeric、collect_set 等聚閤函數,不支持rollup、cube、grouping set 等操作,不支
持數據抽樣(Sampling),不支持ORC 文件格式,等等。其中,分組聚閤、取中位數等是數
據分析中的常用操作,當前的Impala 存在如此多的局限,使它在可用性上大打摺扣,實際使
用時要格外注意。
前 言
從Bill Inmon在1991年提齣數據倉庫的概念,至今已有27的時間。在這期間人們所麵對的數據,以及處理數據的方法都發生瞭翻天覆地的變化。隨著互聯網和移動終端等應用的普及,運行在單機或小型集群上的傳統數據倉庫不再能滿足數據處理要求,以Hadoop及其生態圈組件為代錶的新一代分布式大數據處理平颱逐漸流行。
盡管大多數人都在討論某種技術或者架構可能會勝過另一種,而我更傾嚮於從“Hadoop與數據倉庫密切結閤”這個角度來探討問題。一方麵企業級數據倉庫中已經積纍瞭大量的數據和應用程序,它們仍然在決策支持領域發揮著至關重要的作用;另一方麵,傳統數據倉庫從業人員的技術水平和經驗也在逐步提升。如何纔能使積纍的大量曆史數據平滑過渡到Hadoop上,並讓熟悉傳統數據倉庫的技術人員能夠有效地利用已有的知識,可以在大數據處理平颱上一展身手,纔是一個亟待解決的問題。
雖然伴隨著大數據的概念也齣現瞭以MongoDB、Cassandra為代錶的NoSQL産品,但不可否認,SQL仍然是數據庫、數據倉庫中常使用的開發語言,也是傳統數據庫工程師或DBA的必會語言,從它齣現至今一直被廣泛使用。首先,SQL有堅實的關係代數作為理論基礎,經過幾十年的積纍,查詢優化器也已經相當成熟。再者,對於開發者,SQL作為典型的非過程語言,其語法相對簡單,但語義卻相當豐富。據統計95%的數據分析問題都能用SQL解決,這是一個相當驚人的結論。那麼SQL怎樣纔能與Hadoop等大數據技術結閤起來,既能復用已有的技能,又能有效處理大規模數據呢?在這樣的需求背景下,近年來湧現齣越來越多的SQL-on-Hadoop軟件,比如從早期的Hive到Spark SQL、Impala、Kylin等,本書所論述的就是眾多SQL-on-Hadoop産品中的一員——HAWQ。
我最初瞭解到HAWQ是在BDTC 2016大會上,Apache HAWQ的創始人常雷博士介紹瞭該項目。他的演講題目是“以HAWQ輕鬆取代傳統數據倉庫”,這正是我的興趣所在。HAWQ支持事務、性能錶現優良,關鍵是與SQL的兼容性非常好,甚至支持存儲過程。對於傳統數據倉庫的開發人員,使用HAWQ轉嚮大數據平颱,學習成本應該是比較低的。我個人認為HAWQ更適閤完成Hadoop上的數據倉庫及其數據分析與挖掘工作。
本書內容
一年來,我一直在撰寫HAWQ相關的文章和博客,並在利用HAWQ開發Hadoop數據倉庫方麵做瞭一些基礎的技術實踐,本書就是對這些工作的係統歸納與總結。全書分為技術解析、實戰演練、數據挖掘三個部分,共27章。
技術解析部分說明HAWQ的基礎架構與功能特性,包括安裝部署、客戶端與服務器連接、數據庫對象與資源管理、查詢優化、備份恢復、高可用性等。
實戰演練部分通過一個簡單而完整的示例,說明使用HAWQ設計和實現數據倉庫的方法,包括初始和定期ETL處理、自動調度係統、維度錶與事實錶技術、聯機分析處理與數據的圖形化錶示等。這部分旨在將傳統數據倉庫建模、SQL開發的簡單性與大數據技術相結閤,快速、高效地建立可擴展的數據倉庫及其應用係統。
數據挖掘部分結閤應用實例,討論將HAWQ與MADlib整閤,MADlib是一個開源機器學習庫,提供瞭精確的數據並行實現、統計和機器學習方法,可以對結構化和非結構化數據進行分析。它的主要目的是可以非常方便地加載到數據庫中,擴展數據庫的分析功能。MADlib僅用SQL查詢就能做簡單的數據挖掘與機器學習,實現矩陣分解、降維、關聯規則、迴歸、聚類、分類、圖算法等常見數據挖掘方法。這也是HAWQ的一大亮點。
本書讀者
本書適閤數據庫管理員、數據倉庫技術人員、Hadoop或其他大數據技術人員,也適閤高等院校和培訓學校相關專業的師生教學參考。
代碼、彩圖下載
緻謝
在本書編寫過程中,得到瞭很多人的幫助與支持。感謝清華大學齣版社圖格事業部的老師和編輯們,他們的辛勤工作使得本書得以盡早與讀者見麵。感謝CSDN提供的技術分享平颱,給我有一個將博客文章整理成書的機會。感謝我在優貝在綫的所有同事,特彆是技術部的同事們,他們在工作中的鼎力相助,使我有更多的時間投入到本書的寫作中。感謝Apache HAWQ的創始人常雷先生在百忙之中為本書寫推薦序。最後,感謝傢人對我一如既往地支持。
因為水平有限,錯漏之處在所難免,希望讀者批評指正。
著 者
2018年1月
HAWQ數據倉庫與數據挖掘實戰 pdf epub mobi txt 電子書 下載