幫助中心 | 我的帳號 | 關於我們

Spark實戰(第2版)/大數據應用與技術叢書

  • 作者:(法)吉恩·喬治·佩林|責編:王軍|譯者:林賜
  • 出版社:清華大學
  • ISBN:9787302596783
  • 出版日期:2022/03/01
  • 裝幀:平裝
  • 頁數:368
人民幣:RMB 99.8 元      售價:
放入購物車
加入收藏夾

內容大鋼
    企業數據的分析始於讀取、過濾和合併來自多個數據源的文件和數據流。Spark數據處理引擎是這方面的佼佼者,可處理各種量級的數據,其傳輸速度比Hadoop系統快100倍。得益於SQL的支持、直觀的界面和簡單的多語言API,你可輕鬆使用Spark,而不必學習複雜的新型生態系統。
    本書將引導你創建端到端分析應用程序。在本書中,你可學習基於Java的有趣示例,包括用於處理NASA衛星數據的完整數據管道。你還可查看托管在GitHub上的有關Java、Python和Scala的代碼示例,並探索、修改此代碼。此外,本書的附錄為你提供速查表,幫助你安裝工具和理解特定的Spark術語。
    主要內容
    用Java編寫的Spark應用程序
    Spark應用架構
    提取文件、資料庫、數據流和Elasticsearch的數據
    使用Spark SQL查詢分散式數據集
    閱讀門檻
    本書讀者不需要具備有關Spark、Scala或Hadoop的經驗。

作者介紹
(法)吉恩·喬治·佩林|責編:王軍|譯者:林賜
    吉恩·喬治·佩林是一位經驗豐富的數據和軟體架構師。他是法國的第一位IBM Champion,並連續12年獲獎,成為終身IBM Champion。

目錄
第Ⅰ部分  通過示例講解理論
第1章  Spark介紹
  1.1  Spark簡介及其作用
    1.1.1  什麼是Spark
    1.1.2  Spark神力的四個支柱
  1.2  如何使用Spark
    1.2.1  數據處理/工程場景中的Spark
    1.2.2  數據科學場景中的Spark
  1.3  使用Spark,能做些什麼
    1.3.1  使用Spark預測NC餐飲行業的餐館質量
    1.3.2  Spark允許Lumeris進行快速數據傳輸
    1.3.3  Spark分析CERN的設備日誌
    1.3.4  其他用例
  1.4  為什麼你應該喜歡數據幀
    1.4.1  從Java角度了解數據幀
    1.4.2  從RDBMS角度理解數據幀
    1.4.3  數據幀的圖形表示
  1.5  第一個示例
    1.5.1  推薦軟體
    1.5.2  下載代碼
    1.5.3  運行第一個應用程序
    1.5.4  第一份代碼
  1.6  小結
第2章  架構和流程
  2.1  構建思維模型
  2.2  使用Java代碼構建思維模型
  2.3  運行應用程序
    2.3.1  連接到主機
    2.3.2  載入或提取CSV文件
    2.3.3  轉換數據
    2.3.4  將數據幀中完成的工作保存到資料庫中
  2.4  小結
第3章  數據幀的重要作用
  3.1  數據幀在Spark中的基本作用
    3.1.1  數據幀的組織
    3.1.2  不變性並非貶低之詞
  3.2  通過示例演示數據幀的使用
    3.2.1  簡單提取CSV后的數據幀
    3.2.2  數據存儲在分區中
    3.2.3  挖掘模式
    3.2.4  提取JSON后的數據幀
    3.2.5  合併兩個數據幀
  3.3  數據幀Dataset
    3.3.1  重用POJO
    3.3.2  創建字元串數據集
    3.3.3  來迴轉換
  3.4  數據幀的祖先:RDD
  3.5  小結
第4章  Spark的「惰性」本質
  4.1  現實中懶惰但高效的示例

  4.2  懶惰但高效的Spark示例
    4.2.1  查看數據轉換和數據操作的結果
    4.2.2  數據轉換的過程,逐步進行
    4.2.3  數據轉換/操作流程的後台代碼
    4.2.4  在182毫秒內創建700多萬個數據點的奧秘
    4.2.5  操作計時背後的奧秘
  4.3  與RDBMS和傳統應用程序進行比較
    4.3.1  使用青少年生育率數據集
    4.3.2  分析傳統應用程序和Spark應用程序之間的區別
  4.4  對於以數據為中心的應用程序而言,Spark的表現出乎意料
  4.5  Catalyst是應用程序的催化器
  4.6  小結
第5章  構建一個用於部署的簡單應用程序
  5.1  無數據提取的示例
    5.1.1  計算π
    5.1.2  計算近似值π的代碼
    5.1.3  Java中的lambda函數是什麼
    5.1.4  使用lambda函數估算π
  5.2  與Spark交互
    5.2.1  本地模式
    5.2.2  集群模式
    5.2.3  Scala和Python的交互模式
  5.3  小結
第6章  部署簡單的應用程序
  6.1  示例之外:組件的作用
    6.1.1  快速瀏覽組件及其之間的交互
    6.1.2  Spark架構的故障排除技巧
    6.1.3  知識拓展
  6.2  構建集群
    6.2.1  如何構建集群
    6.2.2  設置環境
  6.3  構建應用程序,在集群上運行
    6.3.1  構建應用程序的超級JAR
    6.3.2  使用Git和Maven構建應用程序
  6.4  在集群上運行應用程序
    6.4.1  提交超級JAR
    6.4.2  運行應用程序
    6.4.3  分析Spark的用戶界面
  6.5  小結
第Ⅱ部分  數據提取
第7章  從文件中提取數據
  7.1  解析器的常見行為
  7.2  從CSV中提取數據(比較複雜)
    7.2.1  預期輸出
    7.2.2  代碼
  7.3  使用已知模式提取CSV
    7.3.1  預期輸出
    7.3.2  代碼
  7.4  提取JSON文件
    7.4.1  預期輸出

    7.4.2  代碼
  7.5  提取多行JSON文件
    7.5.1  預期輸出
    7.5.2  代碼
  7.6  提取XML文件
    7.6.1  預期輸出
    7.6.2  代碼
  7.7  提取文本文件
    7.7.1  預期輸出
    7.7.2  代碼
  7.8  用於大數據的文件格式
    7.8.1  傳統文件格式的問題
    7.8.2  Avro是基於模式的序列化格式
    7.8.3  ORC是一種列式存儲格式
    7.8.4  Parquet也是一種列式存儲格式
    7.8.5  比較Avro、ORC和Parquet
  7.9  提取Avro、ORC和Parquet文件
    7.9.1  提取Avro
    7.9.2  提取ORC
    7.9.3  提取Parquet
    7.9.4  用於提取Avro、ORC或Parquet的參考表格
  7.10  小結
第8章  從資料庫中提取數據
  8.1  從關係資料庫中提取數據
    8.1.1  資料庫連接備忘錄
    8.1.2  了解示例中使用的數據
    8.1.3  預期輸出
    8.1.4  代碼
    8.1.5  可替代的代碼
  8.2  dialect的作用
    8.2.1  什麼是dialect
    8.2.2  Spark提供的JDBC dialect
    8.2.3  構建自定義dialect
  8.3  高級查詢和提取
    8.3.1  使用WHERE子句進行過濾
    8.3.2  在資料庫中連接數據
    8.3.3  執行數據提取和分區
    8.3.4  高級功能總結
  8.4  從Elasticsearch中提取數據
    8.4.1  數據流
    8.4.2  Spark提取的NYC餐館數據集
    8.4.3  從 Elasticsearch中提取NYC餐館數據集的代碼
  8.5  小結
第9章  數據提取進階:尋找數據源與構建自定義數據源
  9.1  什麼是數據源
  9.2  直接連接數據源的好處
    9.2.1  臨時文件
    9.2.2  數據質量腳本
    9.2.3  按需提供數據
  9.3  查找Spark軟體包中的數據源

  9.4  構建自己的數據源
    9.4.1  示例項目的範圍
    9.4.2  數據源API和選項
  9.5  幕後工作:構建數據源本身
  9.6  使用註冊器文件和廣告器類
  9.7  理解數據和模式之間的關係
    9.7.1  數據源構建關係
    9.7.2  關係內部
  9.8  使用JavaBean構建模式
  9.9  使用實用程序構建數據幀的神奇方法
  9.10  其他類
  9.11  小結
第10章  提取結構化流數據
  10.1  什麼是流數據
  10.2  創建首個流數據
    10.2.1  生成文件流數據
    10.2.2  消費記錄
    10.2.3  獲取記錄,而非數據行
  10.3  從網路流數據中提取數據
  10.4  處理多個流數據
  10.5  區分離散化流數據和結構化流數據
  10.6  小結
第III部分  轉換數據
第11章  使用SQL
  11.1  使用Spark SQL
  11.2  本地視圖與全局視圖之間的區別
  11.3  混合使用數據幀API和Spark SQL
  11.4  不要刪除數據
  11.5  進一步了解SQL
  11.6  小結
第12章  轉換數據
  12.1  數據轉換是什麼
  12.2  在記錄層面進行數據轉換的過程和示例
    12.2.1  數據發現,了解數據的複雜性
    12.2.2  數據映射,繪製過程
    12.2.3  編寫轉換代碼
    12.2.4  審查數據轉換,確保質量流程
    12.2.5  如何排序
    12.2.6  結束Spark數據轉換的首次演示
  12.3  連接數據集
    12.3.1  仔細查看要連接的數據集
    12.3.2  構建各縣的高等教育機構列表
    12.3.3  執行連接操作
  12.4  執行更多的數據轉換
  12.5  小結
第13章  轉換整個文檔
  13.1  轉換整個文檔及其結構
    13.1.1  展平JSON文檔
    13.1.2  構建嵌套文檔,用於數據傳輸和存儲
  13.2  靜態函數背後的魔力

  13.3  執行更多的數據轉換
  13.4  小結
第14章  使用自定義函數擴展數據轉換
  14.1  擴展Apache Spark
  14.2  註冊和調用UDF
    14.2.1  在Spark中註冊UDF
    14.2.2  將UDF與數據幀API結合起來使用
    14.2.3  使用SQL處理UDF
    14.2.4  實現UDF
    14.2.5  編寫服務代碼
  14.3  使用UDF,確保數據高質量
  14.4  考慮UDF的約束
  14.5  小結
第15章  聚合數據
  15.1  使用Spark聚合數據
    15.1.1  簡單回顧數據聚合
    15.1.2  使用Spark執行基本的數據聚合
  15.2  使用實時數據執行數據聚合
    15.2.1  準備數據集
    15.2.2  聚合數據,更好地了解學校
  15.3  使用UDAF構建自定義的聚合操作
  15.4  小結
第IV部分  百尺竿頭,更進一步
第16章  緩存和檢查點:增強Spark的性能
  16.1  使用緩存和檢查點可提高性能
    16.1.1  Spark緩存的用途
    16.1.2  Spark檢查點的妙用
    16.1.3  使用緩存和檢查點
  16.2  緩存實戰
  16.3  有關性能優化的知識拓展
  16.4  小結
第17章  導出數據,構建完整數據管道
  17.1  導出數據的主要概念
    17.1.1  使用NASA數據集構建管道
    17.1.2  將列轉換為日期時間(datetime)
    17.1.3  將置信度百分比轉換為置信度等級
    17.1.4  導出數據
    17.1.5  導出數據:實際發生了什麼
  17.2  Delta Lake:使用系統核心的資料庫
    17.2.1  理解需要資料庫的原因
    17.2.2  在數據管道中使用Delta Lake
    17.2.3  消費來自Delta Lake的數據
  17.3  從Spark訪問雲存儲服務
  17.4  小結
第18章  探索部署約束:了解生態系統
  18.1  使用YARN、Mesos和Kubernetes管理資源
    18.1.1  使用內置的獨立模式管理資源
    18.1.2  在Hadoop環境中,使用YARN管理資源
    18.1.3  Mesos是獨立的資源管理器
    18.1.4  Kubernetes編排容器

    18.1.5  選擇合適的資源管理器
  18.2  與Spark共享文件
    18.2.1  訪問文件中包含的數據
    18.2.2  通過分散式文件系統共享文件
    18.2.3  訪問共享驅動器或文件伺服器上的文件
    18.2.4  使用文件共享服務分發文件
    18.2.5  訪問Spark文件的其他選項
    18.2.6  用於與Spark共享文件的混合解決方案
  18.3  確保Spark應用程序的安全
    18.3.1  保護基礎架構的網路組件
    18.3.2  保護Spark磁碟的使用
  18.4  小結
附錄部分內容通過封底二維碼下載獲取
附錄A  安裝Eclipse
附錄B  安裝Maven
附錄C  安裝Git
附錄D  下載代碼,啟用Eclipse
附錄E  企業數據的歷史
附錄F  有關關係資料庫的幫助信息
附錄G  靜態函數使數據轉換變得容易
附錄H  簡略的Maven備忘單
附錄I  數據轉換和數據操作的
參考資料
附錄J  Scala簡介
附錄K  在生產環境中安裝Spark,以及一些提示
附錄L 關於數據提取的參考資料
附錄M  關於連接的參考資料
附錄N  安裝Elasticsearch和示例數據
附錄O 生成流數據
附錄P  有關流數據的參考資料
附錄Q  有關導出數據的參考資料
附錄R  遇到困難,尋找幫助

  • 商品搜索:
  • | 高級搜索
首頁新手上路客服中心關於我們聯絡我們Top↑
Copyrightc 1999~2008 美商天龍國際圖書股份有限公司 臺灣分公司. All rights reserved.
營業地址:臺北市中正區重慶南路一段103號1F 105號1F-2F
讀者服務部電話:02-2381-2033 02-2381-1863 時間:週一-週五 10:00-17:00
 服務信箱:bookuu@69book.com 客戶、意見信箱:cs@69book.com
ICP證:浙B2-20060032