産品特色
編輯推薦
大數據專傢張良均領銜暢銷書作者團隊,教育部長江學者特聘教授、國傢傑齣青年基金獲得者、IEEE Fellow、華南理工大學計算機與工程學院院長張軍傾力推薦。
本書采用瞭以任務為導嚮的教學模式,按照解決實際任務的工作流程路綫,逐步展開介紹相關的理論知識點,推導生成可行的解決方案,落實在任務實現環節。
全書大部分章節緊扣任務需求展開,不堆積知識點,著重於解決問題時思路的啓發與方案的實施。通過從任務需求到實現這一完整工作流程的體驗,幫助讀者真正理解與消化Hadoop大數據技術。
書中案例全部源於企業真實項目,可操作性強,引導讀者融會貫通,並提供源代碼等相關學習資源,幫助讀者快速掌握大數據相關技能。
內容簡介
本書以任務為導嚮,較為全麵地介紹瞭Hadoop大數據技術的相關知識。全書共6章,具體內容包括Hadoop介紹、Hadoop集群的搭建及配置、Hadoop基礎操作、MapReduce編程入門、MapReduce進階編程、項目案例:電影網站用戶性彆預測。本書的2~5章包含瞭實訓與課後練習,通過練習和操作實踐,幫助讀者鞏固所學的內容。
本書可以作為高校大數據技術類專業的教材,也可作為大數據技術愛好者的自學用書。
作者簡介
張良均,高 級信息係統項目管理師,泰迪杯全國大學生數據挖掘競賽(www.tipdm.org)發起人。華南師範大學、廣東工業大學兼職教授,廣東省工業與應用數學學會理事。兼有大型高科技企業和高校的工作經曆,主要從事大數據挖掘及其應用的策劃、研發及谘詢培訓。全國計算機技術與軟件專業技術資格(水平)考試繼續教育和CDA數據分析師培訓講師。發錶數據挖掘相關論文數二十餘篇,已取得國傢發明專利12項,主編《Hadoop大數據分析與挖掘實戰》《Python數據分析與挖掘實戰》《R語言數據分析與挖掘實戰》等多本暢銷圖書,主持並完成科技項目9項。獲得SAS、SPSS數據挖掘認證及Hadoop開發工程師證書,具有電力、電信、銀行、製造企業、電子商務和電子政務的項目經驗和行業背景。
目錄
一章 Hadoop介紹 1
1.1 Hadoop概述 1
1.1.1 Hadoop簡介 1
1.1.2 Hadoop的發展曆史 2
1.1.3 Hadoop的特點 3
1.2 Hadoop核心 4
1.2.1 分布式文件係統——HDFS 4
1.2.2 分布式計算框架——MapReduce 7
1.2.3 集群資源管理器——YARN 9
1.3 Hadoop生態係統 12
1.4 Hadoop應用場景 14
小結 15
二章 Hadoop集群的搭建及配置 16
任務2.1 安裝及配置虛擬機 17
2.1.1 創建Linux虛擬機 17
2.1.2 設置固定IP 25
2.1.3 遠程連接虛擬機 27
2.1.4 虛擬機在綫安裝軟件 29
2.1.5 任務實現 32
任務2.2 安裝Java 32
2.2.1 在Windows下安裝Java 33
2.2.2 在Linux下安裝Java 35
2.2.3 任務實現 36
任務2.3 搭建Hadoop完全分布式集群 36
2.3.1 修改配置文件 36
2.3.2 剋隆虛擬機 41
2.3.3 配置SSH免密碼登錄 43
2.3.4 配置時間同步服務 44
2.3.5 啓動關閉集群 46
2.3.6 監控集群 47
小結 50
實訓 50
實訓1 為Hadoop集群增加一個節點 50
實訓2 編寫Shell腳本同步集群時間 51
課後練習 51
第3章 Hadoop基礎操作 53
任務3.1 查看Hadoop集群的基本信息 54
3.1.1 查詢集群的存儲係統信息 55
3.1.2 查詢集群的計算資源信息 58
任務3.2 上傳文件到HDFS目錄 59
3.2.1 瞭解HDFS文件係統 59
3.2.2 掌握HDFS的基本操作 62
3.2.3 任務實現 65
任務3.3 運行MapReduce任務 67
3.3.1 瞭解Hadoop官方的示例程序包 67
3.3.2 提交MapReduce任務給集群運行 68
任務3.4 管理多個MapReduce任務 71
3.4.1 查詢MapReduce任務 72
3.4.2 中斷MapReduce任務 74
小結 76
實訓 77
實訓1 統計文件中所有單詞的平均長度 77
實訓2 查詢與中斷MapReduce任務 77
課後練習 78
第4章 MapReduce編程入門 80
任務4.1 使用Eclipse創建MapReduce工程 81
4.1.1 下載與安裝Eclipse 81
4.1.2 配置MapReduce環境 82
4.1.3 新建MapReduce工程 84
任務4.2 通過源碼初識MapReduce編程 86
4.2.1 通俗理解MapReduce原理 86
4.2.2 瞭解MR實現詞頻統計的執行流程 88
4.2.3 讀懂官方提供的WordCount源碼 89
任務4.3 編程實現按日期統計訪問次數 94
4.3.1 分析思路與處理邏輯 94
4.3.2 編寫核心模塊代碼 95
4.3.3 任務實現 97
任務4.4 編程實現按訪問次數排序 99
4.4.1 分析思路與處理邏輯 99
4.4.2 編寫核心模塊代碼 100
4.4.3 任務實現 102
小結 104
實訓 104
實訓1 獲取成績錶的高分記錄 104
實訓2 對兩個文件中的數據進行閤並與去重 105
課後練習 107
第5章 MapReduce進階編程 110
任務5.1 篩選日誌文件並生成序列化文件 111
5.1.1 MapReduce輸入格式 111
5.1.2 MapReduce輸齣格式 113
5.1.3 任務實現 113
任務5.2 Hadoop Java API讀取序列化日誌文件 115
5.2.1 FileSystem API管理文件夾 115
5.2.2 FileSystem API操作文件 119
5.2.3 FileSystem API讀寫數據 121
5.2.4 任務實現 123
任務5.3 優化日誌文件統計程序 124
5.3.1 自定義鍵值類型 124
5.3.2 初步探索Combiner 128
5.3.3 淺析Partitioner 130
5.3.4 自定義計數器 132
5.3.5 任務實現 134
任務5.4 Eclipse提交日誌文件統計程序 137
5.4.1 傳遞參數 137
5.4.2 Hadoop輔助類ToolRunner 139
5.4.3 Eclipse自動打包並提交任務 140
小結 144
實訓 144
實訓1 統計全球每年的高氣溫和低氣溫 144
實訓2 篩選氣溫在15~25℃之間的數據 145
課後練習 146
第6章 項目案例:電影網站用戶性彆預測 151
任務6.1 認識KNN算法 152
6.1.1 KNN算法簡介 152
6.1.2 KNN算法原理及流程 152
任務6.2 數據預處理 154
6.2.1 獲取數據 154
6.2.2 數據變換 155
6.2.3 數據清洗 160
6.2.4 劃分數據集 163
任務6.3 實現用戶性彆分類 167
6.3.1 實現思路 167
6.3.2 代碼實現 169
任務6.4 評價分類結果的準確性 179
6.4.1 評價思路 179
6.4.2 實現分類評價 180
6.4.3 尋找優K值 184
小結 188
參考文獻 189
《雲端數據架構實戰:從數據采集到智能洞察的完整流程》 內容梗概: 本書並非一本關於特定開源技術細節的堆砌,而是旨在為讀者構建一個宏觀且深刻的數據係統設計與實現框架。我們將從企業數據戰略的製定齣發,層層剝離,深入探討如何搭建一個高效、可靠、可擴展的雲原生數據平颱,以支撐企業在海量數據時代下的決策與創新。全書圍繞“數據生命周期”展開,詳述從數據采集、存儲、處理、分析到最終價值實現的每一個環節,並融閤瞭前沿的架構理念與實戰經驗。 第一部分:雲原生數據戰略與架構設計 數據驅動的商業哲學: 我們將首先探討數據為何成為現代商業的核心驅動力。這並非空泛的理論,而是結閤瞭實際商業案例,分析企業如何通過有效的數據策略獲得競爭優勢,例如個性化推薦、風險控製、運營優化等。我們將討論數據戰略與業務目標的對齊,以及如何建立以數據為中心的組織文化。 雲原生時代的機遇與挑戰: 雲原生技術為數據處理帶來瞭前所未有的靈活性和效率。本書將深入剖析雲原生在數據領域的應用,包括微服務架構下的數據處理、容器化與Kubernetes在數據平颱中的作用。我們會討論雲原生帶來的彈性伸縮、高可用性、快速迭代等優勢,同時也會審視其在數據一緻性、安全性、成本控製等方麵帶來的挑戰,並提供相應的解決方案。 通用數據架構模式: 告彆碎片化的技術點,本書將係統性地介紹幾種主流的雲端數據架構模式,如數據倉庫(Data Warehouse)、數據湖(Data Lake)、數據湖倉一體(Data Lakehouse)以及實時數據處理架構。我們將詳細分析每種模式的優缺點、適用場景,以及它們如何協同工作,構建齣滿足不同業務需求的完整數據體係。例如,在介紹數據湖時,我們會重點關注其在存儲海量、多樣化數據方麵的能力;在講解數據湖倉一體時,我們會強調它如何兼顧數據湖的靈活性和數據倉庫的結構化查詢能力。 數據治理與安全基石: 在構建強大數據平颱的同時,數據治理與安全是不可忽視的基石。本書將詳細講解數據治理的重要性,包括數據目錄、數據血緣、數據質量管理、元數據管理等。我們還會深入探討數據安全策略,如訪問控製、數據加密、脫敏技術,以及在雲環境下如何實現閤規性的數據管理,保障敏感數據的安全。 第二部分:海量數據采集與集成 多源異構數據采集策略: 現實世界的數據來源極其多樣,包括關係型數據庫、NoSQL數據庫、日誌文件、流式數據、API接口、第三方數據源等。本書將提供一套全麵的數據采集策略,針對不同類型的數據源,介紹最優的采集方法和工具。我們將討論如何設計高吞吐量的ETL(Extract, Transform, Load)和ELT(Extract, Load, Transform)流程,以及如何處理實時數據流的采集。 事件驅動的實時數據捕獲: 隨著業務對實時性的要求越來越高,實時數據采集變得至關重要。本書將深入探討事件驅動架構(EDA)在數據采集中的應用,包括如何利用消息隊列(如Kafka, Pulsar)作為數據緩衝和傳輸的樞紐。我們將詳細解析CDC(Change Data Capture)技術,如何實時捕獲數據庫的變更,並將這些變更流式傳輸到下遊係統。 數據集成模式與挑戰: 如何將分散在不同係統中的數據進行有效集成,是構建統一數據視圖的關鍵。本書將介紹多種數據集成模式,如批處理集成、實時集成、微服務數據集成。我們還會探討數據集成過程中常見的挑戰,如數據衝突、數據重復、模式演變,並提供應對策略。 第三部分:高效可擴展的數據存儲與管理 雲端數據存儲方案選型: 雲平颱提供瞭豐富的存儲服務,從對象存儲到托管數據庫。本書將對各種雲端數據存儲方案進行深入剖析,包括關係型數據庫(如RDS, Cloud SQL)、NoSQL數據庫(如DynamoDB, Cosmos DB)、列式數據庫(如Redshift, BigQuery, Snowflake)、以及適用於大數據場景的分布式文件係統(如S3, GCS, HDFS)。我們將從成本、性能、可擴展性、數據一緻性等多個維度進行比較分析,幫助讀者根據業務需求選擇最閤適的存儲方案。 數據湖與數據倉庫的構建: 本書將詳細指導讀者如何構建現代化的數據湖,強調其在存儲原始、半結構化和結構化數據方麵的靈活性。我們會討論數據湖的組織方式、分區策略、文件格式(如Parquet, ORC)的選擇,以及如何利用元數據管理提升數據湖的可發現性和可用性。同時,我們也會深入講解數據倉庫的設計原則,包括維度建模、事實錶、緩慢變化維度(SCD)等,以及如何構建支持復雜分析的星型模型和雪花模型。 數據湖倉一體(Data Lakehouse)的實踐: 結閤數據湖的靈活性與數據倉庫的結構化特性,Data Lakehouse正成為新的趨勢。本書將深入探討Data Lakehouse的架構理念,包括如何通過統一的事務層(如Delta Lake, Apache Hudi, Apache Iceberg)為數據湖提供ACID事務支持、Schema演進等能力。我們將展示如何在一個統一的平颱上實現數據的統一管理、高效查詢和分析。 數據生命周期管理: 隨著數據量的不斷增長,有效管理數據生命周期至關重要。本書將探討數據的歸檔、遷移、刪除策略,以及如何利用雲服務的生命周期策略自動化這一過程,從而優化存儲成本並滿足閤規性要求。 第四部分:分布式數據處理與分析引擎 批處理框架的精髓: 盡管實時處理日益重要,批處理依然是處理大規模曆史數據不可或缺的手段。本書將深入解析主流批處理框架的設計理念和應用場景,側重於其分布式計算原理、任務調度、容錯機製。我們將探討如何優化批處理作業的性能,例如通過閤理的數據分區、Shuffle優化、選擇閤適的序列化格式等。 流式數據處理的實時響應: 實時數據分析是現代業務的重要組成部分。本書將全麵介紹流式數據處理框架,包括其事件處理模型、窗口操作、狀態管理、容錯機製。我們將詳細講解如何利用這些框架構建實時數據管道,實現低延遲的數據分析與響應。 SQL on Big Data: 隨著SQL在大數據領域的普及,各種SQL查詢引擎應運而生。本書將介紹如何在各種分布式存儲和計算引擎之上進行SQL查詢,包括MPP(Massively Parallel Processing)數據庫、Presto/Trino、Spark SQL等。我們將探討這些查詢引擎的工作原理、優化技巧,以及如何利用它們進行復雜的數據探索和分析。 高性能計算與內存計算: 對於需要極低延遲分析的場景,內存計算和高性能計算至關重要。本書將介紹如何利用Spark等框架的內存計算能力,以及一些專門為高性能計算設計的工具和技術,以加速數據分析過程。 第五部分:高級數據分析與智能化應用 機器學習平颱與模型生命周期管理: 從數據準備到模型部署,本書將勾勒齣完整的機器學習生命周期。我們將探討如何利用雲原生機器學習平颱(如SageMaker, Vertex AI, Azure ML)來簡化模型開發、訓練、評估和部署流程。我們將重點關注特徵工程、模型選擇、超參數調優、模型評估指標,以及模型的可解釋性與監控。 數據可視化與儀錶闆構建: 將復雜的數據轉化為直觀易懂的可視化圖錶,是信息傳遞的關鍵。本書將介紹主流的數據可視化工具和技術,如Tableau, Power BI, Superset, Metabase等。我們將探討如何設計有效的儀錶闆,突齣關鍵指標,並滿足不同用戶的分析需求。 智能決策支持係統: 本書的最終目標是幫助讀者構建能夠驅動智能決策的係統。我們將探討如何將數據分析、機器學習模型的結果集成到業務流程中,實現自動化決策、預測性分析和異常檢測。我們將討論指標體係的設計、A/B測試的實施,以及如何利用數據驅動業務增長。 數據産品化與價值變現: 將數據轉化為可直接使用的産品或服務,是實現數據價值最大化的重要途徑。本書將探討數據産品化的理念,包括如何設計和開發數據API、嵌入式分析模塊,以及如何通過數據洞察驅動新的商業模式。 本書特點: 宏觀視角與係統性: 區彆於僅聚焦於單一技術棧的工具書,本書提供瞭一個全麵的數據係統設計與實踐框架,幫助讀者理解數據技術在整個生命周期中的位置與作用。 雲原生理念貫穿始終: 緊扣雲原生技術發展趨勢,強調在雲環境下構建和管理數據係統的方法論與實踐。 架構與實戰並重: 在深入剖析技術架構原理的同時,融入大量的實戰經驗與案例分析,幫助讀者將理論知識應用於實際工作中。 前沿技術與趨勢展望: 涵蓋瞭當前大數據領域最熱門的架構模式和技術,並對未來發展趨勢進行展望。 麵嚮對象的思維訓練: 引導讀者從整體齣發,理解不同技術組件之間的關係,培養構建復雜數據係統的係統思維能力。 本書適閤所有希望深入理解和實踐現代雲端數據架構的開發人員、架構師、數據工程師、數據科學傢以及技術管理者。通過閱讀本書,您將能夠構建齣更具彈性、可擴展性和智能化的數據驅動型解決方案。