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數據倉庫與數據挖掘實戰”這個書名,精準地戳中瞭我的痛點。雖然我還沒有開始閱讀,但僅僅從書名和封麵,我能預感到這本書將是一次深入探索數據世界奧秘的旅程。我設想,書中一定會詳細闡述構建高效數據倉庫的原理和實踐,包括數據建模、ETL流程、以及如何保證數據的準確性和一緻性。更讓我期待的是“實戰”二字,這意味著不僅僅是理論的堆砌,更會有實際操作的指導,也許會包含具體的案例分析,甚至是代碼示例,讓我能夠親手實踐,將抽象的概念轉化為具體的技能。我特彆想知道,書中是否會介紹一些業界領先的數據倉庫解決方案,比如Hadoop生態下的Hive、Impana,或者是雲端的數據倉庫服務。同時,“數據挖掘”這個部分更是讓我充滿遐想,我期待書中能夠介紹一些經典的挖掘算法,如決策樹、聚類、關聯規則等,並講解它們在實際業務場景中的應用,比如用戶行為分析、市場營銷預測、風險控製等等。我希望這本書能夠為我打開一扇通往數據驅動決策的大門,讓我能夠運用這些知識,在未來的工作中提升數據處理和分析的能力,解決實際遇到的挑戰。
評分在看到這本書的標題時,我就被深深地吸引住瞭。我一直對數據背後的故事充滿好奇,總覺得海量的數據中隱藏著無數的秘密等待被發掘。HAWQ這個詞,雖然我不是技術專傢,但也能感受到其專業性和前沿性。我期望這本書能夠幫助我理解數據倉庫的設計理念和架構,瞭解如何構建一個能夠支撐復雜查詢和海量數據存儲的係統。更讓我興奮的是“數據挖掘”這個部分,我一直對機器學習和人工智能領域的數據分析技術非常感興趣,希望這本書能夠詳細介紹各種數據挖掘算法的原理和應用,例如分類、迴歸、聚類、關聯規則等,以及它們是如何被應用到實際業務場景中的。我特彆期待書中能夠提供一些實操性的指導,比如如何使用HAWQ這樣的工具來完成數據挖掘的任務,甚至能有一些代碼示例或者項目實戰的案例,讓我能夠邊學邊練,真正掌握這些技能。我希望通過這本書,我能夠從一個對數據感到迷茫的人,變成一個能夠從數據中發現價值、解決問題的數據分析師。我相信,這本書將會是我數據學習之路上的重要裏程碑,為我打開一扇通往更廣闊的數據世界的大門,讓我能夠更自信地麵對未來的數據挑戰。
評分當我看到“HAWQ數據倉庫與數據挖掘實戰”這個書名的時候,我立刻被它所吸引瞭。我一直對如何有效地管理和分析海量數據感到著迷,而這個書名恰恰點齣瞭我最感興趣的兩個方嚮。我設想,書中一定包含瞭構建一個功能強大、性能卓越的數據倉庫的關鍵技術和最佳實踐,從數據建模到數據治理,再到數據查詢的優化,都可能被深入剖析。更令我期待的是“數據挖掘”這部分,我相信它會為我打開一扇通往洞察數據深層秘密的大門。我希望書中能夠介紹一些經典的數據挖掘算法,比如聚類、分類、關聯規則等等,並且詳細講解它們在實際場景中的應用,比如如何通過分析用戶行為來提高産品轉化率,或者如何利用曆史數據來預測未來的市場趨勢。而“實戰”這兩個字,更是讓我感到信心十足,這意味著這本書不僅僅是理論的闡述,更會包含大量的實際操作指導和案例分析,讓我能夠將學到的知識立刻應用到實踐中,真正掌握數據倉庫和數據挖掘的技能。我期待這本書能夠成為我職業生涯中的一個重要助力,讓我能夠更自信地駕馭數據,從中挖掘齣無限的價值,解決復雜的商業問題。
評分拿到這本書的時候,我腦海裏閃過的第一個念頭就是“終於等到瞭”。我之前接觸過一些零散的數據分析工具和技術,但總感覺缺乏一個係統性的框架來支撐。HAWQ這個詞本身就帶有一種技術的力量感,結閤“數據倉庫”和“數據挖掘”,仿佛預示著這本書會是一本集大成之作,能夠將我零散的知識點串聯起來,形成一個完整的知識體係。我最看重的是“實戰”這兩個字,因為我是一個動手能力比較強的人,比起枯燥的理論,我更喜歡直接接觸代碼和實際場景。我猜想書中會從搭建數據倉庫的基礎環境開始,一步步引導讀者完成數據的采集、清洗、轉換和加載。然後,在數據倉庫的基礎上,如何有效地進行數據挖掘,書中可能會介紹各種挖掘模型的選擇、構建和優化技巧,以及如何解讀挖掘結果並將其轉化為可執行的業務洞察。我特彆好奇書中會不會涉及一些大數據相關的技術,例如分布式存儲、並行計算等,因為現代數據倉庫和數據挖掘往往離不開這些底層技術。我希望通過閱讀這本書,我能夠掌握一套完整的解決方案,能夠獨立地完成一個數據倉庫的構建,並從中挖掘齣有價值的信息,為我的工作帶來實質性的提升。這本書的齣版,對我來說,就像是找到瞭一個能夠指引方嚮的燈塔,我迫不及待地想在它的指引下,深入探索數據世界的廣闊海洋。
評分這本書的齣現,簡直就是為我量身定做的。我一直在思考如何纔能將零散的數據整閤起來,形成一個有用的分析基礎,而“HAWQ數據倉庫”這個詞,讓我看到瞭希望。我猜想,書中會詳細講解如何設計和構建一個高效的數據倉庫,包括數據模型的選擇、ETL(提取、轉換、加載)過程的優化、以及數據質量的保證等等。這些都是我一直以來非常關注但又難以係統掌握的領域。而“數據挖掘”的結閤,則讓我看到瞭更深層次的應用潛力。我期望書中能夠介紹一些常用的數據挖掘技術和算法,比如如何利用這些技術來發現隱藏在數據中的模式、趨勢和關聯,從而指導業務決策。更重要的是,“實戰”這兩個字,意味著這本書不會止步於理論,而是會提供切實可行的操作指南,甚至是一些代碼示例或案例研究,讓我能夠將所學知識應用於實際工作中。我希望通過這本書,我能夠真正理解數據倉庫和數據挖掘的精髓,並且能夠運用HAWQ這樣的工具,有效地從海量數據中提取有價值的信息,解決實際業務中遇到的難題。這本書的齣版,無疑為我提供瞭一個寶貴的學習資源,我迫不及待地想要翻開它,開始這段激動人心的探索之旅。
本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度,google,bing,sogou 等
© 2025 book.tinynews.org All Rights Reserved. 静思书屋 版权所有