|
-- 會員 / 註冊 --
|
|
|
|
HAWQ數據倉庫與數據挖掘實戰 ( 簡體 字) |
作者:王雪迎 | 類別:1. -> 程式設計 -> 數據挖掘 |
譯者: |
出版社:清華大學出版社 | 3dWoo書號: 49508 詢問書籍請說出此書號!【有庫存】 NT售價: 490 元 |
出版日:4/1/2018 |
頁數:573 |
光碟數:0 |
|
站長推薦: |
印刷:黑白印刷 | 語系: ( 簡體 版 ) |
|
加入購物車 │加到我的最愛 (請先登入會員) |
ISBN:9787302498025 |
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 序 |
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證) |
作者序: |
譯者序: |
前言:從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月 |
內容簡介:Apache HAWQ是一個SQL-on-Hadoop產品,它非常適合用于Hadoop平臺上快速構建數據倉庫系統。HAWQ具有大規模并行處理、完善的SQL兼容性、支持存儲過程和事務、出色的性能表現等特性,還可與開源數據挖掘庫MADlib輕松整合,從而使用SQL就能進行數據挖掘與機器學習。 《HAWQ數據倉庫與數據挖掘實戰》內容分技術解析、實戰演練與數據挖掘三個部分共27章。技術解析部分說明HAWQ的基礎架構與功能特性,包括安裝、連接、對象與資源管理、查詢優化、備份恢復、高可用性等。實戰演練部分用一個完整的示例,說明如何使用HAWQ取代傳統數據倉庫,包括ETL處理、自動調度系統、維度表與事實表技術、OLAP與數據的圖形化表示等。數據挖掘部分用實例說明HAWQ與MADlib整合,實現降維、協同過濾、關聯規則、回歸、聚類、分類等常見數據挖掘與機器學習方法。 《HAWQ數據倉庫與數據挖掘實戰》適合數據庫管理員、大數據技術人員、Hadoop技術人員、數據倉庫技術人員,也適合高等院校和培訓機構相關專業的師生教學參考。 |
目錄:第一部分HAWQ技術解析 第1章HAWQ概述 3 1.1SQL-on-Hadoop 3 1.1.1對SQL-on-Hadoop的期待 3 1.1.2SQL-on-Hadoop的實現方式 4 1.2HAWQ簡介 6 1.2.1歷史與現狀 7 1.2.2功能特性 7 1.3HAWQ系統架構 9 1.3.1系統架構 10 1.3.2內部架構 11 1.4為什么選擇HAWQ 12 1.4.1常用SQL-on-Hadoop產品的不足 12 1.4.2HAWQ的可行性 13 1.4.3適合DBA的解決方案 18 1.5小結 18 第2章HAWQ安裝部署 19 2.1安裝規劃 19 2.1.1選擇安裝介質 19 2.1.2選擇HAWQ版本 20 2.1.3確認Ambari與HDP的版本兼容性 20 2.2安裝前準備 21 2.2.1確認最小系統需求 21 2.2.2準備系統安裝環境 22 2.2.3建立本地Repository 24 2.3安裝Ambari 25 2.4安裝HDP集群 27 2.5安裝HAWQ 29 2.6啟動與停止HAWQ 34 2.6.1基本概念 34 2.6.2操作環境 34 2.6.3基本操作 36 2.7小結 40 第3章連接管理 41 3.1配置客戶端身份認證 41 3.2管理角色與權限 45 3.2.1HAWQ中的角色與權限 45 3.2.2管理角色及其成員 46 3.2.3管理對象權限 48 3.2.4口令加密 49 3.3psql連接HAWQ 50 3.4Kettle連接HAWQ 52 3.5連接常見問題 55 3.6小結 56 第4章數據庫對象管理 57 4.1創建和管理數據庫 57 4.2創建和管理表空間 61 4.3創建和管理模式 65 4.4創建和管理表 72 4.4.1創建表 72 4.4.2刪除表 74 4.4.3查看表對應的HDFS文件 74 4.5創建和管理視圖 76 4.6管理其他對象 77 4.7小結 78 第5章分區表 79 5.1HAWQ中的分區表 79 5.2確定分區策略 80 5.3創建分區表 81 5.3.1范圍分區與列表分區 81 5.3.2多級分區 86 5.3.3對已存在的非分區表進行分區 86 5.4分區消除 87 5.5分區表維護 91 5.6小結 98 第6章存儲管理 99 6.1數據存儲選項 99 6.2數據分布策略 103 6.2.1數據分布策略概述 103 6.2.2選擇數據分布策略 104 6.2.3數據分布用法 108 6.3從已有的表創建新表 111 6.4小結 117 第7章資源管理 118 7.1HAWQ資源管理概述 118 7.1.1全局資源管理 118 7.1.2HAWQ資源隊列 119 7.1.3資源管理器配置原則 119 7.2配置獨立資源管理器 120 7.3整合YARN 123 7.4管理資源隊列 129 7.5查詢資源管理器狀態 134 7.6小結 137 第8章數據管理 138 8.1基本數據操作 138 8.2數據裝載與卸載 141 8.2.1gpfdist協議及其外部表 141 8.2.2基于Web的外部表 148 8.2.3使用外部表裝載數據 151 8.2.4外部表錯誤處理 151 8.2.5使用hawqload裝載數據 152 8.2.6使用COPY復制數據 155 8.2.7卸載數據 157 8.2.8hawqregister 159 8.2.9格式化數據文件 159 8.3數據庫統計 163 8.3.1系統統計 163 8.3.2統計配置 166 8.4PXF 168 8.4.1安裝配置PXF 168 8.4.2PXFprofile 168 8.4.3訪問HDFS文件 170 8.4.4訪問Hive數據 174 8.4.5訪問JSON數據 186 8.4.6向HDFS中寫入數據 190 8.5小結 194 第9章過程語言 195 9.1HAWQ內建SQL語言 195 9.2PL/pgSQL函數 197 9.3給HAWQ內部函數起別名 198 9.4表函數 198 9.5參數個數可變的函數 201 9.6多態類型 202 9.7UDF管理 205 9.8UDF實例——遞歸樹形遍歷 207 9.9小結 214 第10章查詢優化 215 10.1HAWQ的查詢處理流程 215 10.2GPORCA查詢優化器 217 10.2.1GPORCA的改進 218 10.2.2啟用GPORCA 224 10.2.3使用GPORCA需要考慮的問題 225 10.2.4GPORCA的限制 227 10.3性能優化 228 10.4查詢剖析 232 10.5小結 238 第11章高可用性 239 11.1備份與恢復 239 11.1.1備份方法 239 11.1.2備份與恢復示例 242 11.2高可用性 247 11.2.1HAWQ高可用簡介 247 11.2.2Master節點鏡像 248 11.2.3HAWQ文件空間與HDFS高可用 251 11.2.4HAWQ容錯服務 260 11.3小結 262 第二部分HAWQ實戰演練 第12章建立數據倉庫示例模型 265 12.1業務場景 265 12.2數據倉庫架構 267 12.3實驗環境 268 12.4HAWQ相關配置 269 12.5創建示例數據庫 273 12.5.1在hdp4上的MySQL中創建源庫對象并生成測試數據 273 12.5.2創建目標庫對象 275 12.5.3裝載日期維度數據 283 12.6小結 284 第13章初始ETL 285 13.1用Sqoop初始數據抽取 285 13.1.1覆蓋導入 286 13.1.2增量導入 286 13.1.3建立初始抽取腳本 287 13.2向HAWQ初始裝載數據 288 13.2.1數據源映射 288 13.2.2確定SCD處理方法 288 13.2.3實現代理鍵 289 13.2.4建立初始裝載腳本 289 13.3建立初始ETL腳本 291 13.4小結 293 第14章定期ETL 294 14.1變化數據捕獲 294 14.2創建維度表版本視圖 296 14.3創建時間戳表 297 14.4用Sqoop定期數據抽取 298 14.5建立定期裝載HAWQ函數 298 14.6建立定期ETL腳本 303 14.7測試 303 14.7.1準備測試數據 303 14.7.2執行定期ETL腳本 304 14.7.3確認ETL過程正確執行 305 14.8動態分區滾動 307 14.9準實時數據抽取 309 14.10小結 317 第15章自動調度執行ETL作業 318 15.1Oozie簡介 318 15.2建立工作流前的準備 320 15.3用Oozie建立定期ETL工作流 324 15.4Falcon簡介 328 15.5用Falconprocess調度Oozie工作流 329 15.6小結 332 第16章維度表技術 333 16.1增加列 333 16.2維度子集 342 16.3角色扮演維度 348 16.4層次維度 354 16.4.1固定深度的層次 355 16.4.2多路徑層次 357 16.4.3參差不齊的層次 359 16.5退化維度 361 16.6雜項維度 366 16.7維度合并 374 16.8分段維度 380 16.9小結 386 第17章事實表技術 387 17.1周期快照 388 17.2累積快照 394 17.3無事實的事實表 404 17.4遲到的事實 409 17.5累積度量 416 17.6小結 422 第18章聯機分析處理 423 18.1聯機分析處理簡介 423 18.1.1概念 423 18.1.2分類 424 18.1.3性能 426 18.2聯機分析處理實例 427 18.2.1銷售訂單 427 18.2.2行列轉置 433 18.3交互查詢與圖形化顯示 440 18.3.1Zeppelin簡介 440 18.3.2使用Zeppelin執行HAWQ查詢 441 18.4小結 448 第三部分HAWQ數據挖掘 第19章整合HAWQ與MADlib 451 19.1MADlib簡介 452 19.2安裝與卸載MADlib 455 19.3MADlib基礎 458 19.3.1向量 458 19.3.2矩陣 469 19.4小結 484 第20章奇異值分解 485 20.1奇異值分解簡介 485 20.2MADlib奇異值分解函數 486 20.3奇異值分解實現推薦算法 489 20.4小結 501 第21章主成分分析 502 21.1主成分分析簡介 502 21.2MADlib的PCA相關函數 504 21.3PCA應用示例 509 21.4小結 513 第22章關聯規則方法 514 22.1關聯規則簡介 514 22.2Apriori算法 517 22.2.1Apriori算法基本思想 517 22.2.2Apriori算法步驟 518 22.3MADlib的Apriori算法函數 518 22.4Apriori應用示例 519 22.5小結 524 第23章聚類方法 525 23.1聚類方法簡介 525 23.2k-means方法 526 23.2.1基本思想 527 23.2.2原理與步驟 527 23.2.3k-means算法 527 23.3MADlib的k-means相關函數 529 23.4k-means應用示例 532 23.5小結 537 第24章回歸方法 538 24.1回歸方法簡介 538 24.2Logistic回歸 539 24.3MADlib的Logistic回歸相關函數 539 24.4Logistic回歸示例 542 24.5小結 546 第25章分類方法 547 25.1分類方法簡介 547 25.2決策樹 549 25.2.1決策樹的基本概念 549 25.2.2決策樹的構建步驟 549 25.3MADlib的決策樹相關函數 551 25.4決策樹示例 555 25.5小結 561 第26章圖算法 562 26.1圖算法簡介 562 26.2單源最短路徑 565 26.3MADlib的單源最短路徑相關函數 566 26.4單源最短路徑示例 567 26.5小結 569 第27章模型驗證 570 27.1交叉驗證簡介 570 27.2MADlib的交叉驗證相關函數 573 27.3交叉驗證示例 575 27.4小結 578 |
序: |
|