自己動手做大數據系統( 簡體 字) | |
作者:張魁等 | 類別:1. -> 程式設計 -> 大數據 |
出版社:電子工業出版社 | 3dWoo書號: 45246 詢問書籍請說出此書號! 有庫存 NT售價: 245 元 |
出版日:9/1/2016 | |
頁數:248 | |
光碟數:0 | |
站長推薦: | |
印刷:黑白印刷 | 語系: ( 簡體 字 ) |
ISBN:9787121295867 | 加入購物車 │加到我的最愛 (請先登入會員) |
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證, 繁體書的下載亦請直接連絡出版社) | |
第1章 為什么要自己動手做大數據系統 1
1.1 大數據時代 1 1.2 實戰大數據項目 2 1.3 大數據演練平臺 2 第2章 項目背景及準備 4 2.1 項目背景 4 2.2 項目簡介 4 2.3 項目架構 4 2.4 操作系統 5 2.5 數據存儲 7 2.6 數據處理 8 2.7 開發工具 9 2.8 調試工具 10 2.9 版本管理 10 第3章 大數據環境搭建和配置 11 3.1 各組件功能說明 11 3.1.1 各種數據源的采集工具 12 3.1.2 企業大數據存儲工具 12 3.1.3 企業大數據系統的數據倉庫工具 12 3.1.4 企業大數據系統的分析計算工具 13 3.1.5 企業大數據系統的數據庫工具 13 3.2 大數據系統各組件安裝部署配置 13 3.2.1 安裝的前期準備工作 13 3.2.2 Hadoop基礎環境安裝及配置 15 3.2.3 Hive安裝及配置 21 3.2.4 Sqoop安裝及配置 24 3.2.5 Spark安裝及配置 30 3.2.6 Zookeeper安裝及配置 31 3.2.7 HBase安裝及配置 33 3.3 自動化安裝及部署說明 35 3.3.1 自動化安裝及部署整體架構設計 35 3.3.2 大數據系統自動化部署邏輯調用關系 36 3.4 本章小結 43 第4章 大數據的獲取 44 4.1 使用爬蟲獲取互聯網數據 45 4.2 Python和Scrapy 框架的安裝 45 4.3 抓取和解析招聘職位信息 47 4.4 職位信息的落地 51 4.5 兩個爬蟲配合工作 53 4.6 讓爬蟲的架構設計更加合理 55 4.7 獲取數據的其他方式 57 4.8 使用Sqoop同步論壇中帖子數據 57 4.9 本章小結 59 第5章 大數據的處理 60 5.1 Hive是什么 60 5.2 為什么使用Hive做數據倉庫建模 60 5.3 飛谷項目中Hive建模步驟 61 5.3.1 邏輯模型的創建 62 5.3.2 物理模型的創建 67 5.3.3 將爬蟲數據導入stg_job表 74 5.4 使用Hive進行數據清洗轉換 77 5.5 數據清洗轉換的必要性 78 5.6 使用HiveQL清洗數據、提取維度信息 79 5.6.1 使用HQL清洗數據 79 5.6.2 提取維度信息 82 5.7 定義Hive UDF封裝處理邏輯 85 5.7.1 Hive UDF的開發、部署和調用 86 5.7.2 Python版本的UDF 89 5.8 使用左外連接構造聚合表rpt_job 92 5.9 讓數據處理自動調度 96 5.9.1 HQL的幾種執行方式 96 5.9.2 Hive Thrift服務 99 5.9.3 使用JDBC連接Hive 100 5.9.4 Python調用HiveServer服務 103 5.9.5 用crontab實現的任務調度 105 5.10 本章小結 107 第6章 大數據的存儲 108 6.1 NoSQL及HBase簡介 108 6.2 HBase中的主要概念 110 6.3 HBase客戶端及JavaAPI 111 6.4 Hive數據導入HBase的兩種方案 114 6.4.1 利用既有的JAR包實現整合 114 6.4.2 手動編寫MapReduce程序 116 6.5 使用Java API查詢HBase中的職位信息 122 6.5.1 為什么是HBase而非Hive 122 6.5.2 多條件組合查詢HBase中的職位信息 123 6.6 如何顯示職位表中的某條具體信息 132 6.7 本章小結 133 第7章 大數據的展示 134 7.1 概述 134 7.2 數據分析的一般步驟 135 7.3 用R來做數據分析展示 135 7.3.1 在Ubuntu上安裝R 135 7.3.2 R的基本使用方式 137 7.4 用Hive充當R的數據來源 139 7.4.1 RHive組件 139 7.4.2 把R圖表整合到Web頁面中 145 7.5 本章小結 151 第8章 大數據的分析挖掘 152 8.1 基于Spark的數據挖掘技術 152 8.2 Spark和Hadoop的關系 153 8.3 在Ubuntu上安裝Spark集群 154 8.3.1 JDK和Hadoop的安裝 154 8.3.2 安裝Scala 154 8.3.3 安裝Spark 155 8.4 Spark的運行方式 157 8.5 使用Spark替代Hadoop Yarn引擎 160 8.5.1 使用spark-sql查看Hive表 160 8.5.2 在beeline客戶端使用Spark引擎 161 8.5.3 在Java代碼中引用Spark的ThriftServer 163 8.6 對招聘公司名稱做全文檢索 168 8.6.1 從HDFS數據源構造JavaRDD 169 8.6.2 使用Spark SQL操作RDD 173 8.6.3 把RDD運行結果展現在前端 174 8.7 如何把Spark用得更好 175 8.8 SparkR組件的使用 177 8.8.1 SparkR的安裝及啟動 177 8.8.2 運行自帶的Sample例子 179 8.8.3 利用SparkR生成職位統計餅圖 179 8.9 本章小結 181 第9章 自己動手搭建支撐大數據系統的云平臺 182 9.1 云平臺架構 182 9.1.1 一期云基礎平臺架構 182 9.1.2 二期云基礎平臺架構 184 9.2 云平臺搭建及部署 185 9.2.1 安裝組件前準備 185 9.2.2 Identity(Keystone)組件 190 9.2.3 Image(Glance)組件 198 9.2.4 Compute(Nova)組件 201 9.2.5 Storage(Cinder)組件 206 9.2.6 Networking(Neutron)組件 210 9.2.7 Ceph分布式存儲系統 221 9.2.8 Dashboard(Horizon)組件 230 9.3 Identity(Keystone)與LDAP的整合 232 9.4 配置Image組件大鏡像部署 235 9.5 配置業務系統無縫遷移 236 9.6 本章小結 237 參考文獻 238 如果你是一位在校大學生,對大數據感興趣,也知道使用的企業越來越多,市場需求更是日新月異,但苦于自己基礎不夠,心有余而力不足;也看過不少大數據方面的書籍、博客、視頻等,但感覺進步不大;如果你是一位在職人員,但目前主要使用傳統技術,雖然對大數據很有興趣,也深知其對未來的影響,但因時間不夠,雖有一定的基礎,常常也是打兩天魚、曬三天網,進展不是很理想。如果你有上述疑惑或遇到相似問題,本書正好比較適合你。本書從OpenStack云平臺搭建、軟件部署、需求開發實現到結果展示,以縱向角度講解了生產性大數據項目上線的整個流程;以完成一個實際項目需求貫穿各章節,講述了Hadoop生態圈中互聯網爬蟲技術、Sqoop、Hive、HBase組件協同工作流程,并展示了Spark計算框架、R制圖軟件和SparkRHive組件的使用方法。本書的一大特色是提供了實際操作環境,用戶可以在線登錄云平臺來動手操作書中的數據和代碼,登錄網址請參考http://www.feiguyun.com/support。
一個游泳愛好者,最大的煩惱是什么?沒有好的教練?缺少好的教材?也許不是。如果哪天自己能擁有一個游泳池,可隨時暢游,而且維護成本很低廉,甚至免費,同時還有教練的指導和一些游泳愛好者一起,那應該是一件很美的事。對于一個大數據愛好者,如果也能擁有一個屬于自己的大數據實踐環境,能夠方便、快捷、隨時隨地使用真實環境,同時還有一些實戰性、生產性的項目或課件,與一些志同道合的小伙伴一起攻堅克難,應該也是一件令人期待的事。
“紙上得來終覺淺,絕知此事要躬行”。要掌握一門技術,尤其像大數據相關技術,涉及的內容多,范圍廣,對環境的要求高,如果只是看看書、看看視頻,很難深入理解,更不用說融會貫通了。一些有條件的學生,他們可以搭幾個節點,組成一個微型大數據群,照著書中的一些實例練習,但這些練習往往支離破碎,缺乏系統性、生產性,更不用說包含生產性項目中的版本控制、質量管理和流程規范等。而這些對實施生產項目來說很重要,有時其重要性超過了對技術的要求。本書,就是為彌補這些內容而寫的。 除了實戰性、生產性的課件外,我們還提供了隨時隨地可操作、可實踐的大數據云平臺——飛谷云,這是我們自主開發的大數據平臺,該平臺用戶可通過外網登錄,與論壇及門戶實現無縫連接。此外,還有很多志同道合的大數據愛好者一起學習、一起做項目。 本書主要內容 第1章,介紹我們為什么需要自己動手做大數據系統。 第2章,介紹動手做大數據系統的項目背景、項目架構及相關基礎知識。 第3章,介紹大數據系統環境的搭建和配置,主要包括如何搭建和配置Hadoop集群、Sqoop、Hive、HBase、ZooKeeper、Spark、MySQL等,圖文并茂,內容翔實。 第4章,介紹大數據系統中數據獲取相關技術,包括如何利用爬蟲技術獲取平面數據和使用Sqoop獲取結構化數據。 第5章,介紹大數據系統中數據倉庫工具Hive的使用方法及進行ETL的過程詳解。 第6章,介紹大數據系統中數據庫HBase的使用方法及和Hive之間的數據對接。 第7章,介紹如何使用數據展示利器R來展示HDFS中的數據。 第8章,介紹使用Spark計算模型來實時處理數據及SparkRHive組件的使用。 第9章,介紹如何搭建支撐大數據系統的云平臺,以保證大數據系統的穩定性。 讀者范圍 ? 對大數據感興趣的院校師生。 ? 對大數據有一定的基礎,還想進一步熟悉整個生態系統的大數據愛好者。 勘誤與支持 盡管我們仔細對待本書的寫作,由于水平和能力有限,錯誤還是不可避免的。 致謝 首先要感謝大數據實戰團隊,參與飛谷云大數據公益項目的所有大數據愛好者,正是有了大家的支持和積極參與,才使得從飛谷一期的四個人,發展到目前飛谷七期的近四百人,短短一年多的時間,讓我們真正感受到了共同堅持、誠信進取、協同分享的飛谷價值觀所帶來的收獲和快樂,每期的項目線下啟動會、交流會、項目結束總結會總能感受到大家積極參與的熱情!同時也要感謝蘇州大學計算機科學與技術學院何書萍老師、上海理工大學管理學院張帆老師、上海交通大學大數據分析俱樂部蔣軍杰同學、中國社科院研究生院孫思棟同學、上海華師大數據分析俱樂部羅玉雪同學、上海大學黃文成同學等。 此外,要感謝飛谷管理團隊的各位老師:陳健、劉軍、吳嘉瑜、張勤池、王繼紅、張海峰、許小平、陶方震和劉李濤。諸君對飛谷大數據項目的熱心參與及全力配合,是此公益項目得以持續推進的不懈動力。特別感謝為飛谷云提供實戰項目的企業數據負責人;飛谷七期電商比價項目提供者——張曉雷先生及飛谷八期汽車推薦模型需求提供者——章水鑫先生,正是有了你們提供的需求、數據和業務指導,才使得飛谷大數據小伙伴們有了學習大數據的真實場景,在實踐中體會大數據分析價值和魅力。 飛谷云在全國一些大學還建立了交流群,作為每個群的組織者:中國科技大學張海洋同學、河南工程學院孟祥杰同學、南京農業大學鄔家棟同學、西安電子科技大學劉東航同學等,為飛谷公益項目在院校中的推廣,亦發揮了積極作用,在此一并表示感謝。 |