作 者:楊正洪 著
定 價:79
出 版 社:清華大學出版社
出版日期:2020年02月01日
頁 數:387
裝 幀:平裝
ISBN:9787302547969
本書以Hadoop和Spark框架為線索,重點介紹了Hadoop技術、Spark技術、大數據存儲、大數據訪問、大數據采集、大數據管理、大數據分析、大數據開發、大數據環境自動化部署等內容,使讀者對大數據技術有個比較全面的了解。
●目 錄第1章 大數據時代11.1 什麼是大數據11.1.1 四大特征21.1.2 數據監管(Data Governance)31.1.3 數據質量41.1.4 大數據分析41.1.5 大數據平臺架構51.2 大數據與雲計算的關繫61.2.1 雲計算產品概述61.2.2 虛擬服務器71.2.3 雲存儲111.3 Hadoop和雲平臺的應用實例121.3.1 雲平臺層面配置121.3.2 大數據平臺層面配置141.4 數據湖(Data Lake)161.5 企業如何走向大數據171.5.1 業務價值維度181.5.2 數據維度181.5.3 現有IT環境和成本維度191.5.4 數據治理維度20第2章 大數據軟件框架212.1 Hadoop框架212.1.1 HDFS(分布式文件繫統)222.1.2 MapReduce(分布式計算框架)232.1.3 YARN(集群資源管理器)282.2 Spark(內存計算框架)302.2.1 Spark SQL312.2.2 Spark Streaming322.3 實時流處理框架342.4 雲端消息隊列342.5 框架的選擇352.6 Hadoop發行版362.7 Mac上安裝Hadoop372.7.1 在Mac上安裝Hadoop372.7.2 安裝MySQL和Hive412.8 Linux上安裝Hadoop442.8.1 配置Java環境452.8.2 安裝ntp和Python472.8.3 安裝和配置openssl472.8.4 配置SSH無密碼訪問472.8.5 安裝Ambari和HDP482.8.6 啟動和停止服務522.9 AWS雲平臺上安裝Hadoop54第3章 大數據集群573.1 集群實例分析573.2 YARN673.2.1 架構組成683.2.2 YARN執行流程713.3 資源的調度器753.3.1 Capacity Scheduler763.3.2 Fair Scheduler783.3.3 資源調度實例分析813.3.4 內存和CPU資源調度843.4 深入研究Resource Manager883.5 集群配置文件總覽913.5.1 yarn-site.xml913.5.2 mapred-site.xml943.6 自動伸縮(Auto Scaling)集群973.7 遷移Hadoop集群973.8 增加Instance99第4章 大數據存儲:文件繫統和雲存儲1004.1 HDFS shell命令1004.2 配置HDFS1024.2.1 配置文件1024.2.2 多節點配置1034.3 HDFS API編程1044.3.1 讀取HDFS文件內容1054.3.2 寫HDFS文件內容1084.3.3 WebHDFS1084.4 HDFS API總結1104.4.1 Configuration類1104.4.2 FileSystem抽像類1114.4.3 Path類1114.4.4 FSDataInputStream類1114.4.5 FSDataOutputStream類1124.4.6 IOUtils類1124.4.7 FileStatus類1124.4.8 FsShell類1124.4.9 ChecksumFileSystem抽像類1124.4.10 其他的HDFS API實例1134.4.11 綜合實例1154.5 HDFS文件格式1184.5.1 SequenceFile1184.5.2 TextFile(文本格式)1184.5.3 RCFile1184.5.4 Avro1204.6 雲存儲S31204.6.1 S3基本概念1214.6.2 S3管理控制臺1224.6.3 S3 CLI1264.6.4 S3 SDK1274.6.5 分區1294.6.6 與EBS的比較1294.6.7 與Glacier的比較129第5章 大數據存儲:數據庫1305.1 NoSQL1305.2 HBase概述1315.2.1 HBase表結構1325.2.2 HBase繫統架構1355.2.3 啟動並操作HBase數據庫1365.2.4 HBase Shell工具1395.3 HBase編程1425.3.1 增刪改查API1425.3.2 過濾器1465.3.3 計數器1495.3.4 原子操作1495.3.5 管理API1495.4 其他NoSQL數據庫1515.4.1 Cassandra1515.4.2 Impala1515.4.3 DynamoDB1515.4.4 Redshift1515.5 雲數據庫1525.5.1 什麼是RDS1525.5.2 創建雲數據庫1525.5.3 查看雲數據庫信息1565.5.4 何時使用雲端數據庫159第6章 大數據訪問:SQL引擎層1606.1 Phoenix1616.1.1 安裝和配置Phoenix1616.1.2 在Eclipse上開發Phoenix程序1656.1.3 Phoenix SQL工具1696.1.4 Phoenix SQL語法1706.2 Hive1716.2.1 Hive架構1726.2.2 安裝Hive1736.2.3 Hive CLI1756.2.4 Hive數據類型1756.2.5 Hive文件格式1776.2.6 Hive表定義1796.2.7 Hive加載數據1836.2.8 Hive查詢數據1846.2.9 Hive UDF1866.2.10 Hive視圖1886.2.11 HiveServer21896.2.12 hive-site.xml需要的配置1956.2.13 HBase集成2006.2.14 XML和JSON數據2006.2.15 使用TEZ2016.2.16 Hive MetaStore2036.2.17 綜合示例2046.3 Pig2066.3.1 Pig語法2076.3.2 Pig和Hive的使用場景之比較2106.4 ElasticSearch(全文搜索引擎)2116.4.1 全文索引的基礎知識2116.4.2 安裝和配置ElasticSearch2136.4.3 ElasticSearch API2156.5 Presto217第7章 大數據采集和導入2187.1 Flume2207.1.1 Flume架構2207.1.2 Flume事件2217.1.3 Flume源2217.1.4 Flume(Interceptor)2227.1.5 Flume通道選擇器(Channel Selector)2237.1.6 Flume通道2247.1.7 Flume接收器2257.1.8 負載均衡和單點失敗2267.1.9 Flume監控管理2277.1.10 Flume實例2277.2 Kafka2297.2.1 Kafka架構2297.2.2 Kafka與JMS的異同2307.2.3 Kafka性能考慮2317.2.4 消息傳送機制2317.2.5 Kafka和Flume的比較2327.3 Sqoop2327.3.1 從數據庫導入HDFS2337.3.2 增量導入2357.3.3 將數據從Oracle導入Hive2357.3.4 將數據從Oracle導入HBase2357.3.5 導入所有表2367.3.6 從HDFS導出數據2367.3.7 數據驗證2377.3.8 其他Sqoop功能2377.4 Storm2387.4.1 Storm基本概念2387.4.2 Spout2407.4.3 Bolt2417.4.4 拓撲結構2437.4.5 Storm總結2447.5 Kinesis2457.6 其他工具2467.6.1 Embulk2467.6.2 Fluentd247第8章 大數據安全管控2508.1 數據主權和合規性2508.2 雲端安全2518.2.1 身份驗證和訪問權限2518.2.2 角色2538.2.3 虛擬網絡2548.2.4 安全組2558.3 雲端監控2568.3.1 跟蹤和審計2568.3.2 監控2578.3.3 基於Datadog的監控2598.4 雲端備份和恢復2628.5 大數據安全2628.5.1 Kerberos2638.5.2 Apache Ranger2638.5.3 應用端安全267第9章 大數據快速處理平臺:Spark2689.1 Spark框架2689.1.1 安裝和配置Spark2699.1.2 Scala2709.2 Spark Shell2719.3 Spark編程2739.3.1 編寫Spark API程序2749.3.2 使用sbt編譯並打成JAR包2749.3.3 運行程序2759.4 RDD2769.4.1 RDD算子和RDD依賴關繫2779.4.2 RDD轉換操作2789.4.3 RDD行動(Action)操作2799.4.4 RDD控制操作2809.4.5 RDD實例2809.5 Spark SQL2829.5.1 DataFrame2839.5.2 RDD轉化為DataFrame2879.5.3 JDBC數據源2899.5.4 Hive數據源2899.6 Spark Streaming2909.6.1 DStream編程模型2919.6.2 DStream操作2939.6.3 性能考慮2959.6.4 容錯能力296第10章 大數據分析29710.1 數據科學29810.1.1 探索性數據分析29910.1.2 描述統計30010.1.3 數據可視化30010.2 預測分析30310.2.1 預測分析實例30310.2.2 回歸(Regression)分析預測法30410.3 機器學習30510.3.1 機器學習的定義30610.3.2 機器學習分類30710.3.3 機器學習算法30810.3.4 機器學習框架31010.4 算法31210.4.1 分類算法31310.4.2 預測算法31310.4.3 聚類算法31410.4.4 關聯分析31510.4.5 決策樹31710.4.6 異常值分析算法32010.4.7 協同過濾(推薦引擎)算法32010.5 大數據分析總體架構32110.5.1 大數據平臺和大數據分析的關繫32110.5.2 大數據平臺的核心功能32210.5.3 DMP32310.5.4 CDP32410.6 微服務32410.6.1 啟動和停止Consul32610.6.2 服務注冊32710.6.3 查詢服務32910.6.4 服務狀態檢查329第11章 大數據環境自動化部署: Docker和Kubernetes33111.1 什麼是Docker?33211.1.1 虛擬機33211.1.2 Linux容器33311.1.3 Docker的由來33311.1.4 Docker的用途33311.1.5 Docker和虛擬機的區別33411.2 鏡像文件33511.3 Docker安裝33511.4 Dockerfile文件33611.4.1 什麼是Dockerfile33611.4.2 使用Dockerfile33811.4.3 發布鏡像文件33811.4.4 倉庫(Repository)33911.5 Service(服務)34011.5.1 yml文件34011.5.2 部署服務34111.5.3 伸縮(Scale)應用34111.6 Swarm34111.6.1 什麼是Swarm集群34111.6.2 設置Swarm34211.6.3 在Swarm集群上部署應用34311.7 Stack34411.8 Kubernetes34611.8.1 集群34711.8.2 Pod34711.8.3 Node(節點)34711.8.4 Kubernetes Master34811.8.5 Replication Controller34811.8.6 Service348第12章 大數據開發管理34912.1 CI/CD(持續集成/持續發布)34912.1.1 CI34912.1.2 CD35012.2 代碼管理工具GitHub35112.2.1 倉庫(Repository)35112.2.2 分支(Branch)35212.2.3 提交(Commit)和請求合並(Pull request)35212.2.4 開源代碼的操作35412.2.5 GitHub使用實例35512.3 項目管理JIRA36212.3.1 敏捷(Agile)開發和Scrum模式36212.3.2 Project(項目)36412.3.3 Issue(問題)36512.3.4 Sprint(衝刺)36712.3.5 Backlog(待辦事項列表)36812.3.6 Priority(事項優先級)36812.3.7 狀態和流程36812.3.8 JIRA常用報表36912.3.9 JIRA的主要功能總結37212.4 項目構建工具Maven37312.4.1 pom.xml37312.4.2 安裝Maven37412.4.3 Maven倉庫37412.4.4 Maven Java項目結構37512.4.5 命令列表37612.5 大數據軟件測試37912.5.1 JUnit37912.5.2 Allure380附錄1 數據量的單位級別382附錄2 AWS EC2創建步驟383附錄3 分布式監控繫統Ganglia385附錄4 auth-ssh腳本386
目前國內大數據市場繼續保持高速的發展態勢,作者在與地方政府、證券金融公司的項目合作中發現,他們對大數據技術很感興趣,並希望從大數據技術、采集、存儲、訪問、安全、分析與開發等方面得到指導和幫助。因此編寫了這本大數據技術的入門書。本書共12章,以Hadoop和Spark框架為線索,比較全面地介紹了Hadoop技術、Spark技術、大數據存儲、大數據訪問、大數據采集、大數據管理、大數據分析、大數據開發、大數據環境自動化部署(Docker和K8s)等內容。本書適合大數據技術初學者,政府、金融機構的大數據應用決策和技術人員、IT經理、CTO、CIO等快速學習大數據技術。本書也可以作為高等院校和培訓學校相關專業的培訓教材。
楊正洪 著
楊正洪,畢業於美國State University of New York at Stony Brook,在美國硅谷從事AI和大數據相關研發工作 10 多年,華中科技大學和中國地質大學客座教授,湖北省 2013 年海外引進人纔,擁有多項國家專利。參與了大數據和人工智能的國家標準的制定,在 2016 年參與了公安部主導的“信息安全技術:大數據平臺安全管理產品安全技術要求”的國家標準制定。作者還是中關村海外智庫專家顧問和住建部中規院專家顧問,擔任了在美上市公司 CTO、北京某國企 CIO 和上海某國企高級副總裁等職。多年從事人工智能與大數據技術的工作,出版了《智慧城市》等多本書籍。