Cloudera Hadoop大數據平臺實戰指南 ( 簡體 字) |
作者:宋立桓、陳建平 | 類別:1. -> 程式設計 -> 雲計算 2. -> 程式設計 -> 大數據 |
譯者: |
出版社:清華大學出版社 | 3dWoo書號: 50630 詢問書籍請說出此書號!【缺書】 NT售價: 295 元 |
出版日:2/1/2019 |
頁數:230 |
光碟數:0 |
|
站長推薦: |
印刷:黑白印刷 | 語系: ( 簡體 版 ) |
|
加入購物車 │加到我的最愛 (請先登入會員) |
ISBN:9787302517535 |
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 序 |
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證) |
作者序: |
譯者序: |
前言:大數據這個詞也許幾年前你聽著還有點陌生,但我相信你現在聽到Hadoop這個詞時會覺得“熟悉”!你會發現身邊從事Hadoop開發或者正在學習Hadoop的人越來越多。 最早提出“大數據”時代到來的是全球知名咨詢公司麥肯錫,麥肯錫稱:“數據,已經滲透到當今每一個行業和業務職能領域,成為重要的生產因素。互聯網技術發展到現今階段,大量日常、工作等事務產生的數據比以前有了爆炸式的增長,以前的傳統數據處理技術已經無法勝任,需求催生技術——一套用來處理海量數據的軟件技術框架Hadoop應運而生! 我本人一直從事云計算、大數據方面的咨詢和培訓工作。大數據產業高速發展促使Hadoop人才的需求井噴式增長,但Hadoop大數據工程師培養數量遠遠無法滿足市場的需求。為了不被淹沒在大數據技術的浪潮中,我們只有堅持學習,通過增加知識來實現對自我價值的挖掘和體現。 關于本書 Hadoop的發行版除了社區的Apache Hadoop外,Cloudera、Hortonworks、華為等公司都提供了自己的商業版本。因為企業通常使用的是Hadoop商業版本,所以本書實操的運行環境采用Cloudera的CDH。本書定位是大數據從入門到應用的簡明系統教程,特色是理論聯系實踐、實戰實用為主、內容全面系統、講解深入淺出,是大數據技術愛好者入門的最佳圖書。 本書分為18章(宋立桓老師撰寫第1~12章、陳建平撰寫第13~18章),分別從大數據概述、Cloudera Hadoop平臺的安裝部署、大數據Hadoop組件三方面進行介紹,內容包括HDFS分布式文件系統、MapReduce計算框架、資源管理框架YARN 、Hive數據倉庫、數據遷移工具Sqoop、分布式數據庫HBase、ZooKeeper分布式協調服務、準實時分析系統Impala、日志采集工具Flume、分布式消息系統Kafka、ETL工具Kettle、Spark計算框架等知識,最后用兩個綜合實操案例把所有知識點串起來。 本書使用的操作環境是Hadoop商業發行版的Cloudera Express(Express是免費版本,企業版需付費)。全書秉承“實踐為主、理論夠用”的原則,將演示實驗融入各個知識點講解中。 本書另提供豐富的案例源文件和大數據工具軟件下載,供讀者親自操作練習,在作者博客中有下載地址。 學習本書之前,希望大家應該具有如下基礎:有一定計算機網絡基礎知識,熟悉常用Linux操作命令,對Java語言和數據庫理論有基本的了解。
資源下載與技術支持 本書提供詳細的案例資源文件,在作者博客置頂文章中提供下載地址,便于讀者動手實踐 歡迎讀者來信互動,宋立桓的郵箱,陳建平的郵箱是。 致謝 感謝我的妻子,她是我完成此書的堅強后盾。 感謝我的朋友和同事,他們讓我學會知識的增值和變現。 感謝清華大學出版社的編輯夏毓彥和其他工作人員幫助我出版了這本有意義的著作。 阿基米德有一句名言:“給我一個支點,我就能撬起地球。”謹以此書獻給那些為大數據與商業智能分析鋪路的人,讓更多的人享受到大數據時代到來的紅利。
宋立桓 云計算架構師、大數據咨詢顧問 2018年11月 |
內容簡介:對于入門和學習大數據技術的讀者來說,大數據技術的生態圈和知識體系過于龐大,可能還沒有開始學習就已經陷入眾多的陌生名詞和泛泛的概念中。本書的切入點明確而清晰,從Hadoop 生態系統的明星 Cloudera 入手,逐步引出各類大數據基礎和核心應用框架。 本書分為18章,系統介紹Hadoop 生態系統大數據相關的知識,包括大數據概述、Cloudera Hadoop平臺的安裝部署、HDFS分布式文件系統、MapReduce計算框架、資源管理調度框架YARN 、Hive數據倉庫、數據遷移工具Sqoop、分布式數據庫HBase、ZooKeeper分布式協調服務、準實時分析系統Impala、日志采集工具Flume、分布式消息系統Kafka、ETL工具Kettle、Spark計算框架等內容,最后給出兩個綜合實操案例,以鞏固前面所學的知識點。 本書既適合Hadoop初學者、大數據技術工程師和大數據技術愛好者自學使用,亦可作為高等院校和培訓機構大數據相關課程的培訓用書。 |
目錄:第1章大數據概述 1 1.1大數據時代的數據特點 1 1.2大數據時代的發展趨勢——數據將成為資產 2 1.3大數據時代處理數據理念的改變 3 1.3.1要全體不要抽樣 3 1.3.2要效率不要絕對精確 3 1.3.3要相關不要因果 4 1.4大數據時代的關鍵技術 5 1.5大數據時代的典型應用案例 5 1.5.1塔吉特超市精準營銷案例 5 1.5.2谷歌流感趨勢案例 6 1.5.3證券行業案例 6 1.5.4某運營商大數據平臺案例 7 1.6Hadoop概述和介紹 7 1.6.1Hadoop發展歷史和應用現狀 7 1.6.2Hadoop的特點 8 1.6.3Hadoop的生態系統 8 第2章Cloudera大數據平臺介紹 10 2.1Cloudera簡介 10 2.2Cloudera的Hadoop發行版CDH簡介 11 2.2.1CDH概述 11 2.2.2CDH和ApacheHadoop對比 12 2.3ClouderaManager大數據管理平臺介紹 12 2.3.1ClouderaManager概述和整體架構 12 2.3.2ClouderaManager的基本核心功能 14 2.3.3ClouderaManager的高級功能 18 2.4Cloudera平臺參考部署架構 19 2.4.1Cloudera的軟件體系結構 19 2.4.2群集硬件規劃配置 19 2.4.3Hadoop集群角色分配 21 2.4.4網絡拓撲 23 第3章ClouderaManager及CDH離線安裝部署 25 3.1安裝前的準備工作 25 3.2ClouderaManager及CDH安裝 30 3.3添加其他大數據組件 35 第4章分布式文件系統HDFS 37 4.1HDFS簡介 37 4.2HDFS體系結構 38 4.2.1HDFS架構概述 38 4.2.2HDFS命名空間管理 38 4.2.3NameNode 39 4.2.4SecondaryNameNode 39 4.3HDFS2.0新特性 41 4.3.1HDFSHA 41 4.3.2HDFSFederation 42 4.4HDFS操作常用shell命令 43 4.4.1HDFS目錄操作和文件處理命令 43 4.4.2HDFS的Web管理界面 44 4.4.3dfsadmin管理維護命令 45 4.4.4namenode命令 47 4.5Java編程操作HDFS實踐 47 4.6HDFS的參數配置和規劃 49 4.7使用ClouderaManager啟用HDFSHA 51 4.7.1HDFSHA高可用配置 51 4.7.2HDFSHA高可用功能測試 54 第5章分布式計算框架MapReduce 57 5.1MapReduce概述 57 5.2MapReduce原理介紹 58 5.2.1工作流程概述 58 5.2.2MapReduce框架的優勢 58 5.2.3MapReduce執行過程 59 5.3MapReduce編程——單詞示例解析 59 5.4MapReduce應用開發 60 5.4.1配置MapReduce開發環境 60 5.4.2編寫和運行MapReduce程序 61 第6章資源管理調度框架YARN 65 6.1YARN產生背景 65 6.2YARN框架介紹 66 6.3YARN工作原理 67 6.4YARN框架和MapReduce1.0框架對比 69 6.5CDH集群的YARN參數調整 69 第7章數據倉庫Hive 72 7.1Hive簡介 72 7.2Hive體系架構和應用場景 73 7.2.1Hive體系架構 73 7.2.2Hive應用場景 74 7.3Hive的數據模型 75 7.3.1內部表 75 7.3.2外部表 75 7.3.3分區表 75 7.3.4桶 75 7.4Hive實戰操作 76 7.4.1Hive內部表操作 77 7.4.2Hive外部表操作 77 7.4.3Hive分區表操作 79 7.4.4桶表 80 7.4.5Hive應用實例WordCount 82 7.4.6UDF 84 7.5基于Hive的應用案例 86 第8章數據遷移工具Sqoop 88 8.1Sqoop概述 88 8.2Sqoop工作原理 89 8.3Sqoop版本和架構 91 8.4Sqoop實戰操作 93 第9章分布式數據庫HBase 100 9.1HBase概述 100 9.2HBase數據模型 101 9.3HBase生態地位和系統架構 101 9.3.1HBase的生態地位解析 101 9.3.2HBase系統架構 102 9.4HBase運行機制 103 9.4.1Region 103 9.4.2RegionServer工作原理 103 9.4.3Store工作原理 104 9.5HBase操作實戰 104 9.5.1HBase常用shell命令 104 9.5.2HBase編程實踐 107 9.5.3HBase參數調優的案例分享 109 第10章分布式協調服務ZooKeeper 111 10.1ZooKeeper的特點 111 10.2ZooKeeper的工作原理 112 10.2.1基本架構 112 10.2.2ZooKeeper實現分布式Leader節點選舉 112 10.2.3ZooKeeper配置文件重點參數詳解 112 10.3ZooKeeper典型應用場景 115 10.3.1ZooKeeper實現HDFS的NameNode高可用HA 115 10.3.2ZooKeeper實現HBase的HMaster高可用 116 10.3.3ZooKeeper在Storm集群中的協調者作用 116 第11章準實時分析系統Impala 118 11.1Impala概述 118 11.2Impala組件構成 119 11.3Impala系統架構 119 11.4Impala的查詢處理流程 120 11.5Impala和Hive的關系和對比 121 11.6Impala安裝 122 11.7Impala入門實戰操作 124 第12章日志采集工具Flume 128 12.1Flume概述 128 12.2Flume體系結構 129 12.2.1Flume外部結構 129 12.2.2Flume的Event事件概念 130 12.2.3Flume的Agent 130 12.3Flume安裝和集成 131 12.3.1搭建Flume環境 131 12.3.2Kafka與Flume集成 132 12.4Flume操作實例介紹 132 12.4.1例子概述 132 12.4.2第一步:配置數據流向 132 12.4.3第二步:啟動服務 133 12.4.4第三步:新建空數據文件 133 12.4.5第四步:運行flume-ng命令 133 12.4.6第五步:運行命令腳本 134 12.4.7最后一步:測試結果 134 第13章分布式消息系統Kafka 135 13.1Kafka架構設計 135 13.1.1基本架構 135 13.1.2基本概念 136 13.1.3Kafka主要特點 136 13.2Kafka原理解析 137 13.2.1主要的設計理念 137 13.2.2ZooKeeper在Kafka的作用 137 13.2.3Kafka在ZooKeeper的執行流程 137 13.3Kafka安裝和部署 138 13.3.1CDH5完美集成Kafka 138 13.3.2Kafka部署模式和配置 139 13.4Java操作Kafka消息處理實例 141 13.4.1例子概述 141 13.4.2第一步:新建工程 141 13.4.3第二步:編寫代碼 141 13.4.4第三步:運行發送數據程序 142 13.4.5最后一步:運行接收數據程序 143 13.5Kafka與HDFS的集成 143 13.5.1與HDFS集成介紹 143 13.5.2與HDFS集成實例 144 13.5.3第一步:編寫代碼——發送數據 144 13.5.4第二步:編寫代碼——接收數據 145 13.5.5第三步:導出文件 146 13.5.6第四步:上傳文件 146 13.5.7第五步:運行程序——發送數據 146 13.5.8第六步:運行程序——接收數據 147 13.5.9最后一步:查看執行結果 147 第14章大數據ETL工具Kettle 148 14.1ETL原理 148 14.1.1ETL簡介 148 14.1.2ETL在數據倉庫中的作用 149 14.2Kettle簡介 149 14.3Kettle完整案例實戰 150 14.3.1案例介紹 150 14.3.2最終效果 150 14.3.3表說明 150 14.3.4第一步:準備數據庫數據 151 14.3.5第二步:新建轉換 152 14.3.6第三步:新建數據庫連接 153 14.3.7第四步:拖動表輸入組件 153 14.3.8第五步:設置屬性——order表 154 14.3.9第六步:設置屬性——user表 155 14.3.10第七步:拖動流查詢并設置屬性——流查詢 155 14.3.11第八步:設置屬性——product表 156 14.3.12第九步:連接組件 156 14.3.13第十步:設置屬性——文本輸出 156 14.3.14最后一步:運行程序并查看結果 157 14.4Kettle調度和命令 158 14.4.1通過頁面調度 158 14.4.2通過腳本調度 159 14.5Kettle使用原則 161 第15章大規模數據處理計算引擎Spark 162 15.1Spark簡介 162 15.1.1使用背景 162 15.1.2Spark特點 163 15.2Spark架構設計 163 15.2.1Spark整體架構 163 15.2.2關鍵運算組件 164 15.2.3RDD介紹 164 15.2.4RDD操作 165 15.2.5RDD依賴關系 166 15.2.6RDD源碼詳解 167 15.2.7Scheduler 168 15.2.8Storage 168 15.2.9Shuffle 169 15.3Spark編程實例 170 15.3.1實例概述 170 15.3.2第一步:編輯數據文件 170 15.3.3第二步:編寫程序 171 15.3.4第三步:上傳JAR文件 171 15.3.5第四步:遠程執行程序 172 15.3.6最后一步:查看結果 172 15.4SparkSQL實戰 173 15.4.1例子概述 173 15.4.2第一步:編輯數據文件 173 15.4.3第二步:編寫代碼 174 15.4.4第三步:上傳文件到服務器 174 15.4.5第四步:遠程執行程序 174 15.4.6最后一步:查看結果 175 15.5SparkStreaming實戰 175 15.5.1例子概述 175 15.5.2第一步:編寫代碼 175 15.5.3第二步:上傳文件到服務器 176 15.5.4第三步:遠程執行程序 177 15.5.5第四步:上傳數據 177 15.5.6最后一步:查看結果 177 15.6SparkMLlib實戰 178 15.6.1例子步驟 178 15.6.2第一步:編寫代碼 178 15.6.3第二步:上傳文件到服務器 179 15.6.4第三步:遠程執行程序 179 15.6.5第四步:上傳數據 180 15.6.6最后一步:查看結果 180 第16章大數據全棧式開發語言Python 182 16.1Python簡介 182 16.2Python安裝和配置 183 16.2.1Anaconda介紹 183 16.2.2Anaconda下載 183 16.2.3Anaconda安裝 184 16.2.4Anaconda包管理 185 16.2.5PyCharm下載 185 16.2.6PyCharm安裝 185 16.2.7PyCharm使用 187 16.3Python入門 190 16.3.1例子概述 190 16.3.2第一步:新建Python文件 190 16.3.3第二步:設置字體大小 191 16.3.4第三步:編寫代碼 191 16.3.5第四步:執行程序 192 16.3.6最后一步:改變輸入 192 16.4Python數據科學庫pandas入門 193 16.4.1例子概述 193 16.4.2pandas包介紹 194 16.4.3第一步:打開JupyterNotebook 194 16.4.4第二步:導入包 194 16.4.5第三步:定義數據集 195 16.4.6第四步:過濾數據 195 16.4.7最后一步:獲取數據 196 16.5Python繪圖庫matplotlib入門 197 16.5.1例子概述 197 16.5.2第一步:新建一個Python文件 197 16.5.3第二步:引入畫圖包 197 16.5.4第三步:組織數據 198 16.5.5第四步:畫圖 198 16.5.6最后一步:查看結果 199 第17章大數據實戰案例:實時數據流處理項目 200 17.1項目背景介紹 200 17.2業務需求分析 200 17.3項目技術架構 201 17.4項目技術組成 202 17.5項目實施步驟 202 17.5.1第一步:運用Kafka產生數據 202 17.5.2第二步:運用Spark接收數據 208 17.5.3第三步:安裝Redis軟件 211 17.5.4第四步:準備程序運行環境 214 17.5.5第五步:遠程執行Spark程序 216 17.5.6第六步:編寫Python實現可視化 218 17.5.7最后一步:執行Python程序 221 17.6項目總結 222 第18章大數據實戰案例:用戶日志綜合分析項目 223 18.1項目背景介紹 223 18.2項目設計目的 223 18.3項目技術架構和組成 224 18.4項目實施步驟 225 18.4.1第一步:本地數據FTP到Linux環境 225 18.4.2第二步:Linux數據上傳到HDFS 225 18.4.3第三步:使用Hive訪問HDFS數據 226 18.4.4第四步:使用Kettle把數據導入HBase 228 18.4.5第五步:使用Sqoop把數據導入MySQL 234 18.4.6第六步:編寫Python程序實現可視化 236 18.4.7最后一步:執行Python程序 238 |
序: |