閱讀138 返回首頁    go 阿裏雲 go 技術社區[雲棲]


《Hadoop與大數據挖掘》一導讀


image

前  言

為什麼要寫這本書
最早提出“大數據”時代到來的是全球知名谘詢公司麥肯錫,麥肯錫稱:“數據,已經滲透到當今每一個行業和業務職能領域,成為重要的生產因素。人們對於海量數據的挖掘和運用,預示著新一波生產率增長和消費者盈餘浪潮的到來。”
早在2012年,大數據(big data)一詞已經被廣泛提起,人們用它來描述和定義信息爆炸時代產生的海量數據,並命名與之相關的技術發展與創新。那時就有人預計,從2013年至2020年,全球數據規模將增長10倍,每年產生的數據量將由當時的4.4萬億GB,增長至44萬億GB,每兩年翻一番。
既然“大數據”浪潮已經來臨,那麼與之對應的大數據人才呢?在國外,大數據技術發展正如火如荼,各種方便大家學習的資料、教程應有盡有。但是,在國內,這種資料卻是有“門檻”的。其一,這類資料是英文的,對於部分人員來說,閱讀是有難度的;其二,這些資料對於初學者或在校生來說,在理論理解上也有一些難度,沒有充分的動手實踐來協助理解大數據相關技術的原理、架構等;其三,在如何應用大數據技術來解決企業實實在在遇到的大數據相關問題方麵,沒有很好的資料;其四,對於企業用戶來說,如何將大數據技術和數據挖掘技術相結合,對企業大量數據進行挖掘,以挖掘出有價值的信息,也是難點。
作為大數據相關技術,Hadoop無疑應用很廣泛。Hadoop具有以下優勢:高可靠性、高擴展性、高效性、高容錯性、低成本、生態係統完善。
一般來說,使用Hadoop相關技術可以解決企業相關大數據應用,特別是結合諸如Mahout、Spark MLlib等技術,不僅可以對企業相關大數據進行基礎分析,還能構建挖掘模型,挖掘企業大數據中有價值的信息。
對於學習大數據相關技術的高校師生來說,本書不僅提供了大數據相關技術的基礎講解及原理、架構分析,還針對這些原理,配備有對應的動手實踐章節,幫助讀者加深對原理、架構的認識。同時,在每個模塊結束後,書中會有一個相對獨立的企業應用案例,幫助讀者鞏固學到的大數據技術相關知識。
對於企業用戶或大數據挖掘開發者來說,特別是對想要了解如何將大數據技術應用到企業大數據項目中的企業用戶或者開發者來說,本書也是一份優秀的參考資料。
本書特色
本書提供了大數據相關技術的簡介、原理、實踐、企業應用等,針對大數據相關技術,如Hadoop、HBase、Hive、Spark等,都有專業章節進行介紹,並且針對每一模塊都有相應的動手實踐,能有效加深讀者對大數據相關技術原理、技術實踐的理解。書中的挖掘實踐篇涉及企業在大數據應用中的所有環節,如數據采集、數據預處理、數據挖掘等,通過案例對整個係統的架構進行了詳細分析,對讀者有一定實踐指導作用。
讀者可以從“泰迪杯”全國大學生數據挖掘挑戰賽網站(https://www.tipdm.org/tj/865.jhtml)免費下載本書配套的全部數據文件及源程序。另外,為方便教師授課,本書還特意提供了建模階段的過程數據文件、PPT課件,有需要的教師可通過熱線電話(40068-40020)、企業QQ(40068-40020)或以下微信公眾號谘詢獲取。
本書適用對象
開設大數據、大數據挖掘相關課程的高校教師和學生
目前國內不少高校將大數據、大數據挖掘引入本科教學中,在計算機、數學、自動化、電子信息、金融等專業開設了大數據技術相關的課程,但目前針對這一課程的相關教材沒有統一,或者使用的教材不利於課堂教學。本書提供了大數據相關技術的簡介、原理、實踐、企業應用等,能有效幫助高校教師教學;幫助學生學習大數據相關技術原理,進行技術實踐,為以後工作打下良好基礎。
大數據開發人員
書中針對大數據相關技術,如Hadoop、HBase、Hive、Spark等,都有專業章節進行介紹,並且針對每一模塊有相應的動手實踐,對初級開發人員有較強指導作用。
大數據架構師
挖掘實踐篇涉及企業在大數據應用中的所有環節,包括數據采集、數據預處理、數據挖掘等方麵,通過案例對整個係統的架構進行了詳細分析,對大數據架構師有一定的實踐指導作用。
關注大數據挖掘技術的人員
本書不僅包括大數據相關技術的簡介及原理分析,還包括大數據相關技術和大數據挖掘相結合的案例分析。對於大數據挖掘技術人員來說,如何應用大數據技術來對大數據進行挖掘是重點和難點,通過學習本書中案例的分析方法,可以將其融入自己的實際工作中。
如何閱讀本書
本書主要分為兩篇:基礎篇和挖掘實戰篇。基礎篇介紹了大數據相關技術:Hadoop、Hive、HBase、Pig、Spark、Oozie等。針對每個技術都有相應模塊與之對應,首先對該技術的概念、內部原理等進行介紹,使讀者對該技術有一個由淺入深的理解;其次在對原理的介紹中會配合相應的動手實踐,加深對原理的理解。在每個模塊的最後,會有1~2個企業案例,主要講解使用當前模塊的技術來解決其中的1~2個問題,這樣讀者不僅對技術的原理、架構有了較深入的了解,同時,對於如何應用該技術也有了一定認識,從而為以後的工作、學習打下良好基礎。挖掘實戰篇通過對一個大型的企業應用案例的介紹,充分應用基礎篇講解的大數據技術來解決企業應用中遇到的各種問題。本書配套提供了程序代碼及數據,讀者可通過上機實驗,快速掌握書中所介紹的大數據相關技術,獲得使用大數據相關技術進行數據挖掘的基本能力。
第一篇是基礎篇(第1~7章)。第1章主要介紹了大數據相關概念,以及大數據相關技術。第2章對Hadoop進行了介紹,包括概念、原理、架構等,通過動手實踐案例幫助讀者加深對原理的理解。第3章對Hive進行了介紹,重點分析了Hive的架構及如何與Hadoop相結合,同時,引入一個企業案例來分析Hive在企業應用中的地位。第4章對HBase進行了介紹,分析了HDFS與HBase的異同點、HBase架構原理、HBase如何做到支持隨機讀寫等。第5章介紹了Pig,詳細分析了Pig的實現原理及應用場景,介紹了Pig Latin,並且通過一個Pig Latin的動手實踐案例,加深讀者對該腳本的理解。第6章介紹了Spark的基本原理、RDD實現等,並且對Scala進行了簡單介紹,使用Scala創建Wordcount程序,在模塊的最後使用Spark MLlib完成引入的企業案例中的模型建立環節。第7章介紹了Hadoop工作流Oozie,通過動手實際建立Hadoop MR、Spark、Hive、Pig的工作流,方便理解企業工作流應用。
第二篇是挖掘實戰篇(第8章),詳細介紹了一個企業級大數據應用項目—法律服務大數據智能推薦係統。通過分析應用背景、構建係統,使讀者了解針對係統的每一層應使用什麼大數據技術來解決問題。涉及的流程有數據采集、數據預處理、模型構建等,在每一個流程中會進行大數據相關技術實踐,運用實際數據來進行分析,使讀者切身感受到大數據技術解決大數據企業應用的魅力。
勘誤和支持
除封麵署名外,參加本書編寫工作的還有周龍、焦正升、許國傑、楊坦、肖剛、劉曉勇等。由於作者的水平有限,書中難免會出現一些錯誤或者不準確的地方,懇請讀者批評指正。本書內容的更新將及時在“泰迪杯”全國數據挖掘挑戰賽網站(www.tipdm.com)上發布。讀者可通過作者微信公眾號TipDM(微信號:TipDataMining)、TipDM官網(www.tipdm.com)反饋有關問題。也可通過熱線電話(40068-40020)或企業QQ(40068-40020)進行在線谘詢。
如果你有更多寶貴意見,歡迎發送郵件至郵箱13560356095@qq.com,期待能夠得到你的真摯反饋。
致謝
本書編寫過程中得到了廣大企事業單位科研人員的大力支持,在此謹向中國電力科學研究院、廣東電力科學研究院、廣西電力科學研究院、華南師範大學、廣東工業大學、廣東技術師範學院、南京中醫藥大學、華南理工大學、湖南師範大學、韓山師範學院、中山大學、廣州泰迪智能科技有限公司等單位給予支持的專家及師生致以深深的謝意。
在本書的編輯和出版過程中還得到了參與“泰迪杯”全國數據挖掘建模競賽的眾多師生及機械工業出版社楊福川老師、李藝編輯的大力幫助與支持,在此一並表示感謝。

目 錄

第一篇 基礎篇
第1章  淺談大數據
1.1  大數據概述
1.2  大數據平台
1.3  本章小結
第2章
2.1  Hadoop概述
2.1.2  Hadoop存儲—HDFS
2.1.3  Hadoop計算—MapReduce
2.1.4  Hadoop資源管理—YARN
2.1.5  Hadoop生態係統
2.2  Hadoop配置及IDE配置
2.2.2  環境配置
2.2.3  集群啟動關閉與監控
2.2.4  動手實踐:一鍵式Hadoop集群啟動關閉
2.2.5  動手實踐:Hadoop IDE配置
2.3  Hadoop集群命令
2.3.1  HDFS常用命令hdfs dfs
2.3.2  動手實踐:hdfs dfs命令實戰
2.3.3  MapReduce常用命令mapred job
2.3.4  YARN常用命令yarn jar
2.3.5  動手實踐:運行MapReduce任務
2.4  Hadoop編程開發
2.4.1  HDFS Java API操作
2.4.2  MapReduce原理
2.4.3  動手實踐:編寫Word Count程序並打包運行
2.4.4  MapReduce組件分析與編程實踐
2.5  K-Means算法原理及Hadoop MapReduce實現
2.5.2  動手實踐:K-Means算法實現
2.5.3  Hadoop K-Means算法實現思路
2.5.4  Hadoop K-Means編程實現
2.6  TF-IDF算法原理及Hadoop MapReduce實現
2.6.2  Hadoop TF-IDF編程思路
2.6.3  Hadoop TF-IDF編程實現
2.7  [本章小結](https://yq.aliyun.com/articles/110295)
第3章 大數據查詢—Hive
3.1 Hive概述
3.1.1 Hive體係架構
3.1.2 Hive數據類型
3.1.3 Hive安裝
3.1.4 動手實踐:Hive安裝配置
3.1.5 動手實踐:HiveQL基礎—SQL
3.2 HiveQL語句
3.2.1 數據庫操作
3.2.2 Hive表定義
3.2.3 數據導入
3.2.4 數據導出
3.2.5 HiveQL查詢
3.3 動手實踐:基於Hive的學生信息查詢
3.4 基於Hive的航空公司客戶價值數據預處理及分析
3.4.1 背景與挖掘目標
3.4.2 分析方法與過程
3.5 本章小結
第4章 大數據快速讀寫—HBase
4.1 HBase概述
4.2 配置HBase集群
4.2.1 Zookeeper簡介及配置
4.2.2 配置HBase
4.2.3 動手實踐:HBase安裝及運行
4.2.4 動手實踐:ZooKeeper獲取HBase狀態
4.3 HBase原理與架構組件
4.3.1 HBase架構與組件
4.3.2 HBase數據模型
4.3.3 讀取/寫入HBase數據
4.3.4 RowKey設計原則
4.3.5 動手實踐:HBase數據模型驗證
4.4 HBase Shell操作
4.4.1 HBase常用Shell命令
4.4.2 動手實踐:HBase Shell操作
4.5 Java API &MapReduce與HBase交互
4.5.1 搭建HBase開發環境
4.5.2 使用Java API操作HBase表
4.5.3 動手實踐:HBase Java API使用
4.5.4 MapReduce與HBase交互
4.5.5 動手實踐:HBase表導入導出
4.6 基於HBase的冠字號查詢係統
4.6.1 案例背景
4.6.2 功能指標
4.6.3 係統設計
4.6.4 動手實踐:構建基於HBase的冠字號查詢係統
4.7 本章小結
第5章 大數據處理—Pig
5.1 Pig概述
5.1.1 Pig Latin簡介
5.1.2 Pig數據類型
5.1.3 Pig與Hive比較
5.2 配置運行Pig
5.2.1 Pig配置
5.2.2 Pig運行模式
5.3 常用Pig Latin操作
5.3.1 數據加載
5.3.2 數據存儲
5.3.3 Pig參數替換
5.3.4 數據轉換
5.4 綜合實踐
5.4.1 動手實踐:訪問統計信息數據處理
5.4.2 動手實踐:股票交易數據處理
5.5 本章小結
第6章 大數據快速運算與挖掘—Spark
6.1 Spark概述
6.2 Spark安裝集群
6.2.1 3種運行模式
6.2.2 動手實踐:配置Spark獨立集群
6.2.3 3種運行模式實例
6.2.4 動手實踐:Spark Streaming實時日誌統計
6.2.5 動手實踐:Spark開發環境—Intellij IDEA配置
6.3 Spark架構與核心原理
6.3.1 Spark架構
6.3.2 RDD原理
6.3.3 深入理解Spark核心原理
6.4 Spark編程技巧
6.4.1 Scala基礎
6.4.2 Spark基礎編程
6.5 如何學習Spark MLlib
6.5.1 確定應用
6.5.2 ALS算法直觀描述
6.5.3 編程實現
6.5.4 問題解決及模型調優
6.6 動手實踐:基於Spark ALS電影推薦係統
6.6.1 動手實踐:生成算法包
6.6.2 動手實踐:完善推薦係統
6.7 本章小結
第7章 大數據工作流—Oozie
7.1 Oozie簡介
7.2 編譯配置並運行Oozie
7.2.1 動手實踐:編譯Oozie
7.2.2 動手實踐:Oozie Server/client配置
7.3 Oozie WorkFlow實踐
7.3.1 定義及提交工作流
7.3.2 動手實踐:MapReduce Work-Flow定義及調度
7.3.3 動手實踐:Pig WorkFlow定義及調度
7.3.4 動手實踐:Hive WorkFlow定義及調度
7.3.5 動手實踐:Spark WorkFlow定義及調度
7.3.6 動手實踐:Spark On Yarn定義及調度
7.4 Oozie Coordinator實踐
7.4.1 動手實踐:基於時間調度
7.4.2 動手實踐:基於數據有效性調度
7.5 本章小結
第二篇 挖掘實戰篇
第8章 法律服務大數據智能推薦
8.1 背景
8.2 目標
8.3 係統架構及流程
8.4 分析過程及實現
8.4.1 數據傳輸
8.4.2 數據傳輸:動手實踐
8.4.3 數據探索分析
8.4.4 數據預處理
8.4.5 模型構建
8.5 構建法律服務大數據智能推薦係統
8.5.1 動手實踐:構建推薦係統JavaEE
8.5.2 動手實踐:Oozie工作流任務
8.6 本章小結

最後更新:2017-06-26 11:31:57

  上一篇:go  《偉大的計算原理》一第1章
  下一篇:go  Blender 2.78 發布,三維繪圖及渲染軟件