-- 會員 / 註冊 --  
 帳號:
 密碼:
  | 註冊 | 忘記密碼
3/26 新書到! 3/19 新書到! 3/14 新書到! 12/12 新書到!
購書流程Q & A站務留言版客服信箱
3ds MaxMayaRhinoAfter EffectsSketchUpZBrushPainterUnity
PhotoShopAutoCadMasterCamSolidWorksCreoUGRevitNuke
C#CC++Java遊戲程式Linux嵌入式PLCFPGAMatlab
駭客資料庫搜索引擎影像處理FluentVR+ARANSYS深度學習
單晶片AVROpenGLArduinoRaspberry Pi電路設計CadenceProtel
HadoopPythonStm32CortexLabview手機程式AndroidiPhone
可查書名,作者,ISBN,3dwoo書號
詳細書籍分類

Spark SQL入門與實踐指南

( 簡體 字)
作者:紀涵、靖曉文、趙政達類別:1. -> 程式設計 -> Spark
譯者:
出版社:清華大學出版社Spark SQL入門與實踐指南 3dWoo書號: 48757
詢問書籍請說出此書號!

缺書
NT售價: 245

出版日:4/1/2018
頁數:190
光碟數:0
站長推薦:
印刷:黑白印刷語系: ( 簡體 版 )
加入購物車 加到我的最愛
(請先登入會員)
ISBN:9787302496700
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證)
作者序:

譯者序:

前言:

我們處于一個數據爆炸的時代!
大量涌現的智能手機、平板、可穿戴設備及物聯網設備每時每刻都在產生新的數據,然而帶來革命性變革的并非海量數據本身,而是我們如何從這些數據中挖掘到有價值的信息,來輔助我們做出更加智能的決策。我們知道,在生產環境下,所謂的大數據往往是由數千萬條、上億條具有多個預定義字段的數據單元組成的數據集,是不是很像傳統關系型數據庫的二維數據表呢?那么我們是否也能找到一個像SQL查詢那樣簡便的工具來高效地分析處理大數據領域中的海量結構化數據呢?沒錯,這個工具就是Spark SQL。
Spark SQL是Spark 用來操作結構化數據的高級模塊,在程序中通過引入Spark SQL模塊,我們便可以像從前在關系型數據庫利用SQL(結構化查詢語言)分析關系型數據庫表一樣簡單快捷地在Spark大數據分析平臺上對海量結構化數據進行快速分析,而 Spark 平臺屏蔽了底層分布式存儲、計算、通信的細節以及作業解析、調度的細節,使我們開發者僅需關注如何利用SQL 進行數據分析的程序邏輯就可以方便地操控集群來分析我們的數據。
本書內容
本書共分為四篇:入門篇、基礎篇、實踐篇、調優篇,所有代碼均采用簡潔而優雅的Scala語言編寫,Spark框架也是使用Scala語言編寫的。
第一部分 入門篇(第1、2章)
第1章簡要介紹Spark的誕生、Spark SQL的發展歷史以及Spark SQL的用處等內容,使讀者快速了解Spark SQL背景知識,為以后的學習奠定基礎。
第2章通過講解Spark SQL開發環境的搭建、Spark作業的打包提交、常見問題的解答,并結合大量圖示,使讀者快速掌握開發環境的搭建以及提交應用程序到集群上,為后面章節的學習奠定堅實的基礎。
第二部分 基礎篇(第3、4、5、6章)
第3章是真正開始學習Spark SQL必要的先修課,其中詳盡地介紹了Spark框架對數據的核心抽象——RDD(彈性分布式數據集)的方方面面。先介紹與RDD相關的基本概念,例如轉化操作、行動操作、惰性求值、緩存,講解的過程伴隨著豐富的示例,旨在提高讀者對RDD的理解與加強讀者的RDD編程基礎。在講明白RDD中基礎內容的同時,又深入地剖析了疑點、難點,例如RDD Lineage(RDD依賴關系圖)、向Spark傳遞函數、對閉包的理解等。在之前對基本類型RDD的學習基礎上,又引入了對特殊類RDD——鍵值對RDD的大致介紹,在鍵值對RDD介紹中對combineByKey操作的講解,深入地從代碼實現的角度洞悉了Spark分布式計算的實質,旨在幫助對RDD有著濃厚興趣的讀者做進一步的拓展。最后,站在RDD設計者的角度重新審視了RDD緩存、持久化、checkpoint機制,從而詮釋了RDD為什么能夠很好地適應大數據分析業務的特點,有天然強大的容錯性、易恢復性和高效性。
第4章對Spark高級模塊——Spark SQL,也就是本書的主題,進行了簡明扼要的概述,并講述了相應的Spark SQL編程基礎。先是通過與前一章所學的Spark對數據的核心抽象——RDD的對比,引出了Spark SQL中核心的數據抽象——DataFrame,講解了兩者的異同,點明了Spark SQL是針對結構化數據處理的高級模塊的原因在于其內置豐富結構信息的數據抽象。后一部分通過豐富的示例講解了如何利用Spark SQL模塊來編程的主要步驟,例如,從結構化數據源中創建DataFrames、DataFrames基本操作以及執行SQL查詢等。
第5、6章屬于 Spark SQL編程的進階內容,也是我們將Spark SQL應用于生產、科研計算環境下,真正開始分析多類數據源、實現各種復雜業務需求必須要掌握的知識。在第5章里,我們以包含簡單且典型的學生信息表的JSON文件作為數據源,深入對DataFrame豐富強大的API進行研究,以操作講解加示例的形式包攬了DataFrame中每一個常用的行動、轉化操作,進而幫助讀者輕松高效地組合使用DataFrame所提供的API來實現業務需求。在第6章里,介紹了Spark SQL 可處理的各種數據源,包括Hive表、JSON和Parquet文件等,從廣度上使讀者了解Spark SQL在大數據領域對典型結構化數據源的皆可處理性,從而使讀者真正在工作中掌握一門結構化數據的分析利器。
第三部分 實踐篇(第7、8章)
第7章通過講解大型商業實例項目(基于WiFi探針的商業大數據分析技術)的功能需求、系統架構、功能設計、數據庫結構來幫助讀者理解如何在實際開發中應用Spark SQL來處理結構化數據,加強讀者的工程思維,同時為第8章的學習做好鋪墊。
第8章通過講解分布式環境搭建以及項目代碼的解析來幫助讀者進一步理解Spark SQL應用程序的執行過程,在后一部分介紹了Spark SQL程序的遠程調試方法和Spark 的Web 界面,幫助讀者更加方便地了解程序的運行狀態。
第四部分 調優篇(第9章)
調優篇由第9章組成,本篇從Spark的執行流程到內存以及任務的劃分,再到Spark應用程序的編寫技巧,接著到Spark本身的調優,最后引出數據傾斜的解決思路,層層遞進,逐步解析Spark的調優思想。最后以對Spark 執行引擎 Tungsten與Spark SQL的解析引擎Catalyst的介紹作為本部分的結尾。筆者將在本篇中帶領讀者掌握Spark的調優方式以及思想,讓Spark程序再快一點。
本書適合讀者
本書適合于學習數據挖掘、有海量結構化數據分析需求的大數據從業者及愛好者閱讀,也可以作為高等院校相關專業的教材。建議在學習本書內容的過程中,理論聯系實際,獨立進行一些代碼的編寫,采取開放式的實驗方法,即讀者自行準備實驗數據和實驗環境,解決實際問題,最終達到理論聯系實際的目的。
本書在寫作過程中得到了家人以及本書編輯的大力支持,在此對他們一并表示感謝。
本書由紀涵(主要負責基礎篇的編寫)主筆,其他參與著作的還有靖曉文(主要負責實踐篇的編寫)、趙政達(主要負責入門篇、調優篇的編寫),排名不分先后。



紀 涵
2018年2月
內容簡介:

Spark SQL是 Spark大數據框架的一部分,支持使用標準SQL查詢和HiveQL來讀寫數據,可用于結構化數據處理,并可以執行類似SQL的Spark數據查詢,有助于開發人員更快地創建和運行Spark程序。
全書分為4篇,共9章,第一篇講解了Spark SQL 發展歷史和開發環境搭建。第二篇講解了Spark SQL 實例,使得讀者掌握Spark SQL的入門操作,了解Spark RDD、DataFrame和DataSet,并熟悉 DataFrame 各種操作。第三篇講解了基于WiFi探針的商業大數據分析項目,實例中包含數據采集、預處理、存儲、利用Spark SQL 挖掘數據,一步一步帶領讀者學習Spark SQL強大的數據挖掘功能。第四篇講解了Spark SQL 優化的知識。
本書適合Spark初學者、Spark數據分析人員以及Spark程序開發人員,也適合高校和培訓學校相關專業的師生教學參考。
目錄:

第一部分入門篇
第1章初識SparkSQL3
1.1SparkSQL的前世今生3
1.2SparkSQL能做什么4
第2章Spark安裝、編程環境搭建以及打包提交6
2.1Spark的簡易安裝6
2.2準備編寫Spark應用程序的IDEA環境10
2.3將編寫好的Spark應用程序打包成jar提交到Spark上18
第二部分基礎篇
第3章Spark上的RDD編程23
3.1RDD基礎24
3.1.1創建RDD24
3.1.2RDD轉化操作、行動操作24
3.1.3惰性求值25
3.1.4RDD緩存概述26
3.1.5RDD基本編程步驟26
3.2RDD簡單實例—wordcount27
3.3創建RDD28
3.3.1程序內部數據作為數據源28
3.3.2外部數據源29
3.4RDD操作33
3.4.1轉化操作34
3.4.2行動操作37
3.4.3惰性求值38
3.5向Spark傳遞函數39
3.5.1傳入匿名函數39
3.5.2傳入靜態方法和傳入方法的引用40
3.5.3閉包的理解41
3.5.4關于向Spark傳遞函數與閉包的總結42
3.6常見的轉化操作和行動操作42
3.6.1基本RDD轉化操作43
3.6.2基本RDD行動操作48
3.6.3鍵值對RDD52
3.6.4不同類型RDD之間的轉換56
3.7深入理解RDD57
3.8RDD緩存、持久化59
3.8.1RDD緩存59
3.8.2RDD持久化61
3.8.3持久化存儲等級選取策略63
3.9RDDcheckpoint容錯機制64
第4章SparkSQL編程入門66
4.1SparkSQL概述66
4.1.1SparkSQL是什么66
4.1.2SparkSQL通過什么來實現66
4.1.3SparkSQL處理數據的優勢67
4.1.4SparkSQL數據核心抽象——DataFrame67
4.2SparkSQL編程入門示例69
4.2.1程序主入口:SparkSession69
4.2.2創建DataFrame70
4.2.3DataFrame基本操作70
4.2.4執行SQL查詢72
4.2.5全局臨時表73
4.2.6Dataset73
4.2.7將RDDs轉化為DataFrame75
4.2.8用戶自定義函數78
第5章SparkSQL的DataFrame操作大全82
5.1由JSON文件生成所需的DataFrame對象82
5.2DataFrame上的行動操作84
5.3DataFrame上的轉化操作91
5.3.1where條件相關92
5.3.2查詢指定列94
5.3.3思維開拓:Column的巧妙應用99
5.3.4limit操作102
5.3.5排序操作:orderby和sort103
5.3.6groupby操作106
5.3.7distinct、dropDuplicates去重操作107
5.3.8聚合操作109
5.3.9union合并操作110
5.3.10join操作111
5.3.11獲取指定字段統計信息114
5.3.12獲取兩個DataFrame中共有的記錄116
5.3.13獲取一個DataFrame中有另一個DataFrame中沒有的記錄116
5.3.14操作字段名117
5.3.15處理空值列118
第6章SparkSQL支持的多種數據源121
6.1概述121
6.1.1通用load/save函數121
6.1.2手動指定選項123
6.1.3在文件上直接進行SQL查詢123
6.1.4存儲模式123
6.1.5持久化到表124
6.1.6bucket、排序、分區操作124
6.2典型結構化數據源125
6.2.1Parquet文件125
6.2.2JSON數據集129
6.2.3Hive表130
6.2.4其他數據庫中的數據表133
第三部分實踐篇
第7章SparkSQL工程實戰之基于WiFi探針的商業大數據分析技術139
7.1功能需求139
7.1.1數據收集139
7.1.2數據清洗140
7.1.3客流數據分析141
7.1.4數據導出142
7.2系統架構142
7.3功能設計143
7.4數據庫結構144
7.5本章小結144
第8章第一個SparkSQL應用程序145
8.1完全分布式環境搭建145
8.1.1Java環境配置145
8.1.2Hadoop安裝配置146
8.1.3Spark安裝配置149
8.2數據清洗150
8.3數據處理流程153
8.4Spark程序遠程調試164
8.4.1導出jar包164
8.4.2IDEA配置168
8.4.3服務端配置170
8.5Spark的Web界面171
8.6本章小結172
第四部分優化篇
第9章讓Spark程序再快一點175
9.1Spark執行流程175
9.2Spark內存簡介176
9.3Spark的一些概念177
9.4Spark編程四大守則178
9.5Spark調優七式183
9.6解決數據傾斜問題192
9.7Spark執行引擎Tungsten簡介195
9.8SparkSQL解析引擎Catalyst簡介197
9.9本章小結200
序: