Spark:大數據集群計算的生產實踐 ( 簡體 字) |
作者:李剛 | 類別:1. -> 程式設計 -> Spark |
譯者: |
出版社:電子工業出版社 | 3dWoo書號: 46852 詢問書籍請說出此書號!【有庫存】 NT售價: 325 元 |
出版日:5/1/2017 |
頁數:220 |
光碟數:0 |
|
站長推薦: |
印刷:黑白印刷 | 語系: ( 簡體 版 ) |
|
加入購物車 │加到我的最愛 (請先登入會員) |
ISBN:9787121313646 |
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 序 |
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證) |
作者序: |
譯者序: |
前言:引言 Apache Spark 一個易于掌握的、面向大規模計算的分布式計算框架。它又被稱為“計算網格”或者“計算框架”——考慮到Spark 使開發人員能夠便捷地獲得大量數據且進行分析,這些說法也是正確的。 Apache Spark 由Matei Zaharia 2009 年在加州大學伯克利分校創建,一開始把它作為一個研究項目,后來在2010 年捐給開源社區。2013 年,Spark 作為一個孵化項目加入Apache 軟件基金會,并于2014 年成為頂級項目(TLP),一直發展到現在。 本書面向的讀者 如果你拿起這本書,我們認為你應該對Spark 非常感興趣。本書面向的讀者群體是開發人員、Spark 應用的項目經理,以及那些準備考慮將開發的Spark 應用程序遷移到生產環境的系統管理員(或者DevOps)。 涵蓋的內容 本書涵蓋了開發及維護生產級Spark 應用的各種方法論、組件與最佳實踐。也就是說,我們假設你已經有一個或者打算開發一個Spark 應用,并且具備Spark 的一些基礎知識。 內容結構 本書分為6 章,旨在傳授給讀者以下知識: ? 深入理解Spark 的內部機制以及它們在生產流程中的含義。 ? 一組針對配置參數的法則和權衡方案,用來調優Spark 以獲得高可用性和容錯性。 ? 全面了解生產流,以及把一個應用遷移到一個生產工作流中時所需要的各種組件。 讀者需要具備的知識 作為讀者,你應該具備基本的Spark 開發及使用的知識。本書不會講述入門級內容。市面上有許多關于Spark 入門的書籍、論壇及各類資源,如果你對某部分的知識點有所缺失,可以閱讀相關主題的資料以便更好地理解本書所表達的內容。 格式的約定 為幫助你了解本書的內容及主線,在本書用了一些格式約定。 注意 這個樣例表示注意事項、小提示、暗示、技巧,或者當前討論的旁白。 ? 當介紹一些新的術語和重要的詞時,會采用黑體(中文)或者加粗(英文)。 ? 在文本里顯示代碼時會使用代碼體, 譬如: persistence.properties。 源碼 學習本書中的示例時,你可以選擇手動輸入所有代碼,或使用本書所配套的源 碼文件。 |
內容簡介:本書針對spark從驗證性環境遷移到實際生產環境時會遇到的各種問題給出了實際的幫助,涵蓋了開發及維護生產級Spark應用的各種方法、組件與有用實踐。全書分為6章,第1 ~ 2章幫助讀者深入理解Spark的內部機制以及它們在生產流程中的含義;第3章和第5章闡述了針對配置參數的法則和權衡方案,用來調優Spark,改善性能,獲得高可用性和容錯性;第4章專門討論Spark應用中的安全問題;第6章則全面介紹生產流,以及把一個應用遷移到一個生產工作流中時所需要的各種組件,同時對Spark生態系統進行了梳理。 |
目錄:第1 章 成功運行Spark job / 1 安裝所需組件 / 2 原生安裝Spark Standalone 集群 /3 分布式計算的發展史/ 3 步入云時代 /5 理解資源管理/6 使用各種類型的存儲格式 /9 文本文件/11 Sequence 文件/13 Avro 文件/ 13 Parquet 文件 /13 監控和度量的意義/ 14 Spark UI/ 14 Spark Standalone UI/ 17 Metrics REST API / 17 Metrics System / 18 外部監控工具 / 18 總結 /19 第2 章 集群管理 /21 背景知識/ 23 Spark 組件 / 26 Driver / 27 workers 與executors /28 配置 / 30 Spark Standalone/33 架構 / 34 單節點設置場景 / 34 多節點設置 / 36 YARN / 36 架構 / 38 動態資源分配 /41 場景 /43 Mesos/ 45 安裝/46 架構 / 47 動態資源分配/ 49 基本安裝場景 / 50 比較 / 52 總結 /56 第3 章 性能調優 /59 Spark 執行模型/ 60 分區 /62 控制并行度/62 分區器/64 shuffle 數據 /65 shuffle 與數據分區 / 67 算子與shuffle / 70 shuffle 并不總是壞事 /75 序列化 / 75 Kryo 注冊器 / 77 Spark 緩存 / 77 SparkSQL 緩存 / 81 內存管理 /82 垃圾回收 / 83 共享變量 / 84 廣播變量 / 85 累加器 /87 數據局部性 / 90 總結 / 91 第4 章 安全/ 93 架構/ 94 Security Manager/ 94 設定配置 / 95 ACL / 97 配置 / 97 提交job / 98 Web UI/ 99 網絡安全 / 107 加密/ 108 事件日志 /113 Kerberos/114 Apache Sentry./114 總結 /115 第5 章 容錯或job 執行/ 117 Spark job 的生命周期 /118 Spark master /119 Spark driver/ 122 Spark worker /124 job 生命周期 /124 job 調度 /125 應用程序內部調度 / 125 用外部工具進行調度 / 133 容錯 /135 內部容錯與外部容錯 / 136 SLA/ 137 RDD / 138 Batch vs Streaming / 145 測試策略 / 148 推薦配置/ 155 總結 / 158 第6 章 超越Spark /159 數據倉庫 /159 SparkSQL CLI/161 Thrift JDBC/ODBC 服務器 / 162 Hive on Spark/ 162 機器學習 / 164 DataFrame / 165 MLlib 和ML / 167 Mahout on Spark / 174 Hivemall On Spark/ 175 外部的框架 / 176 Spark Package / 177 XGBoost/ 179 spark-jobserver / 179 未來的工作 /182 與參數服務器集成 / 184 深度學習 / 192 Spark 在企業中的應用 / 200 用Spark 及Kafka 收集用戶活動日志 / 200 用Spark 做實時推薦/ 202 Twitter Bots 的實時分類 / 204 總結 / 205 |
序: |