大規(guī)模數(shù)據(jù)分析和建模:基于Spark與R
定 價(jià):89 元
叢書名:O'Reilly精品圖書系列
- 作者:[美] 哈維爾·盧拉辛(Javier Luraschi),凱文·郭(Kevin,Kuo 著,魏博譯 譯
- 出版時(shí)間:2020/7/1
- ISBN:9787111661016
- 出 版 社:機(jī)械工業(yè)出版社
- 中圖法分類:TP274
- 頁(yè)碼:260
- 紙張:膠版紙
- 版次:1
- 開本:16開
這本書的目的是幫助所有人通過(guò)R使用Apache Spark。第1章~第5章,簡(jiǎn)單地介紹了如何大規(guī)模執(zhí)行數(shù)據(jù)科學(xué)和機(jī)器學(xué)習(xí)項(xiàng)目。第6~9章介紹了使用Spark進(jìn)行集群計(jì)算中令人激動(dòng)的基本概念。第10章~第13章涵蓋一些高級(jí)主題,包括分布式R、Streaming和社區(qū)貢獻(xiàn)等。
如果你和大多數(shù)R語(yǔ)言用戶一樣,那你肯定喜歡統(tǒng)計(jì)學(xué),也能夠深入理解統(tǒng)計(jì)學(xué)。但是隨著組織內(nèi)部不斷收集大量數(shù)據(jù),添加Apache Spark這類工具就變得理所當(dāng)然。在本書中,數(shù)據(jù)科學(xué)家和使用大規(guī)模數(shù)據(jù)應(yīng)用的專業(yè)人員會(huì)學(xué)到如何使用Spark和R解決大數(shù)據(jù)和大計(jì)算問(wèn)題。
作者會(huì)展示如何將Spark和R結(jié)合起來(lái)進(jìn)行大數(shù)據(jù)分析。本書涵蓋相關(guān)的數(shù)據(jù)科學(xué)話題、聚類計(jì)算,以及高級(jí)用戶會(huì)感興趣的問(wèn)題。
·在Apache Spark環(huán)境下,使用R來(lái)分析、探索、轉(zhuǎn)換、可視化數(shù)據(jù)。
·構(gòu)建統(tǒng)計(jì)模型來(lái)提取信息并預(yù)測(cè)輸出,自動(dòng)化生產(chǎn)級(jí)的工作流程。
·使用分布式計(jì)算技術(shù)在多臺(tái)機(jī)器上進(jìn)行分析和建模。
·輕松使用Spark處理多個(gè)數(shù)據(jù)源和格式的大規(guī)模數(shù)據(jù)。
·學(xué)習(xí)其他用于大規(guī)模圖處理、地理空間分析和基因組學(xué)分析的建?蚣。
·深入高級(jí)話題,包括定制轉(zhuǎn)換、實(shí)時(shí)數(shù)據(jù)處理和創(chuàng)建定制化Spark擴(kuò)展。
在信息呈指數(shù)級(jí)增長(zhǎng)的世界中,Apache Spark等先進(jìn)工具為我們解決今天面臨的許多相關(guān)問(wèn)題提供了支持。從在基于數(shù)據(jù)驅(qū)動(dòng)的決策中尋找改進(jìn)方法的公司,到解決醫(yī)療、金融、教育和能源問(wèn)題的研究機(jī)構(gòu),Spark比以往任何時(shí)候都能更快、更可靠地分析更多信息。
人們編寫了各種各樣的書籍來(lái)學(xué)習(xí)Apache Spark。例如,Spark: The Definitive Guide是一本綜合性的書籍,Learning Spark是一本介紹性的書籍,旨在幫助用戶熟悉和運(yùn)行Spark(兩者都由O'Reilly出版)。然而,撰寫本書時(shí),既沒(méi)有使用R語(yǔ)言學(xué)習(xí)Apache Spark的書籍,也沒(méi)有專門為R用戶或潛在的R用戶設(shè)計(jì)的書籍。
有一些在線資源介紹了用R語(yǔ)言學(xué)習(xí)Apache Spark。最著名的是sparkrstudiocom網(wǎng)站和sparkapacheorg網(wǎng)站上的Spark文檔。這兩個(gè)網(wǎng)站都是很好的在線資源,但是,上面的內(nèi)容并不適合初學(xué)者。它們都假設(shè)讀者對(duì)Apache Spark、R和集群計(jì)算有一定的了解。
這本書的目的是幫助所有人通過(guò)R使用Apache Spark。另外,由于R編程語(yǔ)言的目的是簡(jiǎn)化數(shù)據(jù)分析,我們相信這本書也可以為學(xué)習(xí)用Spark解決數(shù)據(jù)分析問(wèn)題提供一條快捷途徑。第1章提供了一個(gè)概述,幫助快速理解這些概念,并介紹了在計(jì)算機(jī)上處理這些問(wèn)題所需的工具。然后,我們會(huì)快速進(jìn)入相關(guān)的數(shù)據(jù)科學(xué)主題、集群計(jì)算和高級(jí)主題,即使是最有經(jīng)驗(yàn)的用戶也會(huì)對(duì)這部分內(nèi)容感興趣。
因此,本書旨在成為一個(gè)對(duì)廣大用戶有用的資源,從渴望學(xué)習(xí)Apache Spark的初學(xué)者,到希望理解為什么和如何通過(guò)R使用Apache Spark的有經(jīng)驗(yàn)的讀者,都可以從書中獲益。
本書的結(jié)構(gòu)如下:
介紹
12Apache SparkRSparkR
分析
在第3章中,你將學(xué)習(xí)如何使用R在Apache Spark中分析、探索、轉(zhuǎn)換和可視化數(shù)據(jù)。
建模
45
規(guī);
69Apache Spark
擴(kuò)展
10
高級(jí)技術(shù)
1113R
15SparkSpark
69SparkSparkSpark67
1013Spark
代碼生成的表格的格式如下:
# A tibble: 3 x 2
numbers text
1 1 one
2 2 two
3 3 three
第一行描述表的維度(行數(shù)和列數(shù)),第二行是列名,第三行是列類型。我們?cè)诒緯惺褂玫膖ibble包還提供了各種細(xì)微的視覺(jué)改進(jìn)。
大多數(shù)繪圖都使用ggplot2包和附錄中提供的自定義主題進(jìn)行渲染。但是,由于本書不關(guān)注數(shù)據(jù)可視化,因此我們只提供基本的繪圖代碼,其可能與實(shí)際中應(yīng)用的格式不匹配。如果你有興趣學(xué)習(xí)R中更多關(guān)于可視化的知識(shí),可以考慮專門的書籍,比如R Graphics Cookbook('Reilly出版社)。
致謝
感謝那些允許通過(guò)R使用Spark程序包的作者:Javier Luraschi、Kevin Kuo、Kevin Ushey和JJ Allaire(sparklyr);Romain fran鏾is和Hadley Wickham(dbplyr);Hadley Wickham和Edgar Ruiz(dpblyr);Kirill Mülller(DBI);以及Apache Spark項(xiàng)目本身的作者及其最初作者M(jìn)atei Zaharia。
感謝為豐富Spark和R生態(tài)系統(tǒng)而發(fā)布擴(kuò)展程序包的作者:Akhil Nair(crassy);Harry Zhu(geospark);Kevin Kuo(graphframes、mleap、sparktf和sparkxgb);Jakub Hava、Navdeep Gill、Erin LeDell和Michal Malohlava(rsparkling);Jan Wijffels(sparksas7bdat);Aki Ariga(sparkavro);Martin Studer(sparkbq);Matt Pollock(sparklyrnested);Nathan Eastwood(sparkts);Samuel Macêdo(variantspark)。
感謝我們出色的編輯Melissa Potter為我們提供指導(dǎo)、鼓勵(lì)和無(wú)數(shù)小時(shí)的詳細(xì)反饋,這些努力使這本書成為我們的著作中最好的一本。
感謝Bradley Boehmke、Bryan Adams、Bryan Jonas、Dusty Turner和Hossein Falaki,感謝你們的技術(shù)評(píng)論、付出的時(shí)間和坦率的反饋,并與我們分享專業(yè)知識(shí)。多虧了你們,許多讀者才會(huì)有更愉快的閱讀體驗(yàn)。
感謝RStudio、JJ Allaire和Tareef Kawaf對(duì)這項(xiàng)工作的支持,感謝R社區(qū)的持續(xù)支持和鼓勵(lì)。
Max Kuhn,感謝你對(duì)第4章的寶貴反饋。在他的允許下,我們采用了他的精彩著作Feature Engineering and Selection: A Practical Approach for Predictive Models(CRC出版社)中的例子。
我們也感謝所有間接參與但沒(méi)有在這里明確列出的人們。我們真正站在了巨人的肩膀上。
這本書在R語(yǔ)言中用Yihui Xie的bookdown、JJ Allaire和Yihui Xie的rmarkdown、Yihui Xie的knitr寫成;用Hadley Wickham和Winston Chang的ggplot2完成可視化;用Daniel Kallin和Javier Luraschi的nomnoml繪制圖表;用John MacFarlane的pandoc進(jìn)行文檔轉(zhuǎn)換。
本書約定
本書使用下列排版風(fēng)格:
斜體(Italic)
表示新的術(shù)語(yǔ)、URL、電子郵箱地址、文件名和文件擴(kuò)展名。
等寬字體(Constant width)
表示程序清單以及段落中引用的程序元素,如變量或函數(shù)名、數(shù)據(jù)庫(kù)、數(shù)據(jù)類型、環(huán)境變量、語(yǔ)句和關(guān)鍵字。
等寬粗體(Constant width bold)
表示應(yīng)由用戶輸入的命令或其他文本。
等寬斜體(Constant width italic)
表示應(yīng)該被用戶提供的,或由上下文確定的值替換的文本。
用來(lái)表示注意事項(xiàng)或者建議。
用來(lái)表示一般的注釋。
示例代碼
可以從https://githubcom/r-spark/the-r-in-spark下載補(bǔ)充材料(示例代碼、練習(xí)等)。
這里的代碼是為了幫助你更好地理解本書的內(nèi)容。通常,可以在程序或文檔中使用本書中的代碼,而不需要聯(lián)系O扲eilly獲得許可,除非需要大段地復(fù)制代碼。例如,使用本書中所提供的幾個(gè)代碼片段來(lái)編寫一個(gè)程序不需要得到我們的許可,但銷售或發(fā)布O扲eilly的配套CD-ROM則需要O'Reilly出版社的許可。引用本書的示例代碼來(lái)回答一個(gè)問(wèn)題也不需要許可,將本書中的示例代碼的很大一部分放到自己的產(chǎn)品文檔中則需要獲得許可。
非常歡迎讀者使用本書中的代碼,希望(但不強(qiáng)制)你注明出處。注明出處的形式包含標(biāo)題、作者、出版社和ISBN,例如:
Mastering Spark with R,作者為Javier Luraschi、Kevin Kuo和Edgar Ruiz,由O扲eilly出版,書號(hào)為978-1-492-04637-0
如果讀者覺(jué)得對(duì)示例代碼的使用超出了上面所給出的許可范圍,歡迎通過(guò)permission@oreillycom聯(lián)系我們。
O'Reilly在線學(xué)習(xí)平臺(tái)(O'Reilly Online Learning)
近40年來(lái),O'Reilly Media致力于提供技術(shù)和商業(yè)培訓(xùn)、知識(shí)和卓越見解,來(lái)幫助眾多公司取得成功。
我們擁有獨(dú)一無(wú)二的專家和革新者組成的龐大網(wǎng)絡(luò),他們通過(guò)圖書、文章、會(huì)議和我們的在線學(xué)習(xí)平臺(tái)分享他們的知識(shí)和經(jīng)驗(yàn)。O'Reilly的在線學(xué)習(xí)平臺(tái)允許你按需訪問(wèn)現(xiàn)場(chǎng)培訓(xùn)課程、深入的學(xué)習(xí)路徑、交互式編程環(huán)境,以及O扲eilly和200多家其他出版商提供的大量文本和視頻資源。有關(guān)的更多信息,請(qǐng)?jiān)L問(wèn)http://oreillycom。
如何聯(lián)系我們
對(duì)于本書,如果有任何意見或疑問(wèn),請(qǐng)按照以下地址聯(lián)系本書出版商。
美國(guó):
O'Reilly Media,Inc
1005 Gravenstein Highway North
Sebastopol,CA 95472
中國(guó):
北京市西城區(qū)西直門南大街2號(hào)成銘大廈C座807室(100035)
奧萊利技術(shù)咨詢(北京)有限公司
要詢問(wèn)技術(shù)問(wèn)題或?qū)Ρ緯岢鼋ㄗh,請(qǐng)發(fā)送電子郵件至bookquestions@oreillycom。
本書配套網(wǎng)站https://oreilly/SparkwithR上列出了勘誤表、示例以及其他信息。
關(guān)于書籍、課程、會(huì)議和新聞的更多信息,請(qǐng)?jiān)L問(wèn)我們的網(wǎng)站http://wwworeillycom。
我們?cè)贔acebook上的地址:http://facebookcom/oreilly
我們?cè)赥witter上的地址:http://twittercom/oreillymedia
我們?cè)赮ouTube上的地址:http://wwwyoutubecom/oreillymedia
Javier Luraschi是大規(guī)模數(shù)據(jù)科學(xué)諸多庫(kù)的發(fā)明者,包括sparklyr、r2d3、pins和cloudml。
Kevin Kuo構(gòu)建了機(jī)器學(xué)習(xí)庫(kù),并領(lǐng)導(dǎo)了Kasa AI的開放保險(xiǎn)研究。
Edgar Ruiz構(gòu)建了企業(yè)級(jí)的數(shù)據(jù)解決方案工具,包括dbplot、tidypredict和modeldb。
序言1
前言3
第1章 引言9
11 概述10
12 Hadoop10
13 Spark12
14 R16
15 sparklyr19
16 小結(jié)20
第2章 開始21
21 概述21
22 預(yù)備操作22
221 安裝sparklyr23
222 安裝Spark23
23 連接24
24 使用Spark25
241 網(wǎng)絡(luò)接口25
242 分析28
243 建模28
244 數(shù)據(jù)30
245 擴(kuò)展30
246 分布式R31
247 流式數(shù)據(jù)31
248 日志32
25 斷開連接33
26 使用RStudio33
27 資源35
28 小結(jié)36
第3章 分析37
31 概述37
32 數(shù)據(jù)導(dǎo)入40
33 數(shù)據(jù)整理41
331 內(nèi)置函數(shù)42
332 相關(guān)性43
34 可視化45
341 使用ggplot246
342 使用dbplot47
35 建模49
36 溝通51
37 小結(jié)54
第4章 建模56
41 概述56
42 探索性數(shù)據(jù)分析58
43 特征工程65
44 監(jiān)督式學(xué)習(xí)68
441 廣義線性回歸72
442 其他模型73
45 非監(jiān)督式學(xué)習(xí)73
451 數(shù)據(jù)準(zhǔn)備74
452 主題建模75
46 小結(jié)77
第5章 管道操作78
51 概述78
52 創(chuàng)建工作80
53 用例81
54 操作模式83
55 交互性84
56 部署86
561 批打分87
562 實(shí)時(shí)打分88
57 小結(jié)90
第6章 集群92
61 概述92
62 本地化94
621 管理器94
622 發(fā)行版98
63 云端100
631 亞馬遜101
632 Databricks102
633 谷歌103
634 IBM105
635 微軟106
636 Qubole107
64 Kubernetes107
65 工具108
651 RStudio108
652 Jupyter109
653 Livy110
66 小結(jié)111
第7章 連接112
71 概述112
711 邊緣節(jié)點(diǎn)114
712 Spark主目錄114
72 本地模式115
73 單機(jī)模式116
74 YARN116
741 YARN客戶端117
742 YARN集群117
75 Livy118
76 Mesos120
77 Kubernetes121
78 云模式121
79 批量模式122
710 工具123
711 多次連接123
712 故障排除124
7121 記錄日志124
7122 Spark Submit124
7123 Windows126
713 小結(jié)126
第8章 數(shù)據(jù)127
81 概述127
82 讀取數(shù)據(jù)129
821 路徑129
822 模式130
823 內(nèi)存131
824 列132
83 寫入數(shù)據(jù)133
84 復(fù)制數(shù)據(jù)134
85 文件格式135
851 CSV136
852 JSON137
853 Parquet138
854 其他139
86 文件系統(tǒng)140
87 存儲(chǔ)系統(tǒng)140
871 Hive141
872 Cassandra142
873 JDBC142
88 小結(jié)143
第9章 調(diào)試144
91 概述144
911 計(jì)算圖146
912 時(shí)間線148
92 配置148
921 連接設(shè)置150
922 提交設(shè)置151
923 運(yùn)行時(shí)設(shè)置152
924 sparklyr設(shè)置153
93 分區(qū)156
931 隱式分區(qū)156
932 顯式分區(qū)157
94 緩存158
941 檢查點(diǎn)159
942 內(nèi)存159
95 重洗160
96 序列化161
97 配置文件161
98 小結(jié)162
第10章 擴(kuò)展163
101 概述163
102 H2O165
103 圖模型169
104 XGBoost173
105 深度學(xué)習(xí)176
106 基因組學(xué)179
107 空間數(shù)據(jù)181
108 故障排除183
109 小結(jié)183
第11章 分布式R185
111 概述185
112 用例187
1121 定制解析器188
1122 分區(qū)建模189
1123 網(wǎng)格搜索191
1124 Web API192
1125 模擬193
113 分區(qū)194
114 分組195
115 列196
116 context參數(shù)197
117 函數(shù)198
118 程序包199
119 集群需求200
1191 安裝R200
1192 Apache Arrow201
1110 故障排除203
11101 工作節(jié)點(diǎn)日志204
11102 解決超時(shí)205
11103 檢查分區(qū)206
11104 調(diào)試工作節(jié)點(diǎn)206
1111 小結(jié)207
第12章 數(shù)據(jù)流208
121 概述208
122 轉(zhuǎn)換211
1221 分析212
1222 建模213
1223 管道214
1224 分布式R215
123 Kafka216
124 Shiny218
125 小結(jié)220
第13章 社區(qū)貢獻(xiàn)221
131 概述221
132 Spark API223
133 Spark擴(kuò)展224
134 使用Scala代碼226
135 小結(jié)228
附錄A 補(bǔ)充參考代碼229