ODPS(Open Data Processing Service)是阿裏巴巴自主研發的海量數據處理和分析的服務平颱,主要應用於數據分析、海量數據統計、數據挖掘、機器學習和商業智能等領域。目前,ODPS不僅在阿裏內部得到廣泛應用,享有很好的口碑,正逐步走嚮第三方開放市場。
本書是學習和掌握ODPS的權威指南,作者來自阿裏ODPS團隊。全書共13章,主要內容包括:ODPS入門、整體架構、數據通道、MapReduce編程、SQL查詢分析、安全,以及基於真實數據的各種場景分析實戰。本書基於很多範例解析,通過在各種應用場景下的示例來說明如何通過ODPS完成各種需求,以期引導讀者從零開始輕鬆掌握和使用ODPS。同時,本書不局限於示例分析,也緻力於提供更多關於大數據處理的編程思想和經驗分享。書中所有示例代碼都可以在作者提供的網站上免費下載。
本書是學習和掌握ODPS的權威指南,作者來自阿裏ODPS團隊。
本書包括以下重要內容:
ODPS概覽及其基本知識;
如何高效地使用ODPS SQL;
MapReduce編程和進階應用;
ODPS機器學習算法;
ODPS權限、資源和數據管理;
深入瞭解ODPS體係結構和高級機製。
書中所有示例代碼都可以通過https://github.com/duckrun/odps_book免費下載。
本書適閤想要瞭解和使用ODPS的讀者閱讀學習,對於從事大數據存儲和應用以及分布式計算的專業人士來說,也是很好的參考資料。
ODPS權威指南 下載 mobi epub pdf txt 電子書
前言 7
第1章 ODPS概述 9
1.1 引言 9
1.2 初識ODPS 9
1.2.1 背景和挑戰 9
1.2.2 為什麼做ODPS 10
1.2.3 ODPS是什麼 10
1.2.4 ODPS做什麼 11
1.3 基本概念 11
1.3.1 賬號(Account) 12
1.3.2 項目空間(Project) 13
1.3.3 錶(Table) 13
1.3.4 分區(Partition) 14
1.3.5 任務(Task)、作業(Job)和作業實例(Instance) 14
1.3.6 資源(Resource) 14
1.4 應用開發模式 15
1.4.1 RESTful API 15
1.4.2 ODPS SDK 18
1.4.3 ODPS CLT 18
1.4.4 管理控製颱 18
1.4.5 IDE 18
1.5 一些典型場景 19
1.5.1 阿裏金融數據倉庫 19
1.5.2 CNZZ數據倉庫 19
1.5.3 支付寶賬號影響力圈 19
1.5.4 阿裏金融水文衍生算法 19
1.5.5 阿裏媽媽廣告CTR預估 20
1.6 現狀和前景 20
1.7 小結 21
第2章 ODPS入門 22
2.1 準備工作 22
2.1.1 創建雲賬號 22
2.1.2 開通ODPS服務 24
2.2 使用管理控製颱 24
2.3 配置ODPS客戶端 26
2.3.1 下載和配置CLT 26
2.3.2 準備dual錶 28
2.3.3 CLT運行模式 30
2.3.4 下載和配置dship 30
2.3.5 通過dship上傳下載數據 31
2.4 網站日誌分析實例 32
2.4.1 場景和數據說明 32
2.4.2 需求分析 33
2.4.3 數據準備 33
2.4.4 創建錶並添加分區 34
2.4.5 數據解析和導入 35
2.4.6 數據加工 39
2.4.7 數據分析 43
2.4.8 自動化運行 47
2.4.9 應用數據集市 49
2.4.10 結果導齣 51
2.4.11 結果展現 51
2.4.12 刪除數據 53
2.5 小結 53
第3章 收集海量數據 54
3.1 DSHIP工具 54
3.2 收集WEB日誌 56
3.2.1 場景和需求說明 56
3.2.2 問題分析和設計 56
3.2.3 實現說明 57
3.2.4 進一步探討 59
3.2.5 為什麼這麼難 61
3.3 MYSQL數據同步到ODPS 61
3.3.1 場景和需求說明 61
3.3.2 問題分析和實現 61
3.3.3 進一步探討 63
3.4 下載結果錶 63
3.5 小結 63
第4章 使用SQL處理海量數據 64
4.1 ODPS SQL是什麼 64
4.2 入門示例 64
4.2.1 場景說明 64
4.2.2 簡單的DDL操作 64
4.2.3 生成數據 68
4.2.4 單錶查詢 69
4.2.5 多錶連接JOIN 71
4.2.6 高級查詢 79
4.2.7 多錶關聯UNION ALL 87
4.2.8 多路輸齣(MULTI-INSERT) 88
4.3 網站日誌分析 88
4.3.1 準備數據和錶 89
4.3.2 維度錶 89
4.3.3 訪問路徑分析 96
4.3.4 TopK查詢 97
4.3.5 IP黑名單 98
4.4 天貓品牌預測 103
4.4.1 主題說明和前期準備 103
4.4.2 理解數據 104
4.4.3 兩個簡單的實踐 106
4.4.4 問題分析和算法設計 108
4.4.5 生成特徵 109
4.4.6 抽取正負樣本 111
4.4.7 生成模型 114
4.4.8 驗證模型 115
4.4.9 預測結果 118
4.4.10 進一步探討 118
4.5 小結 118
第5章 SQL進階 120
5.1 UDF是什麼 120
5.2 入門示例 120
5.3 實際應用案例 122
5.3.1 URL解碼 122
5.3.2 簡單的LBS應用 123
5.3.3 網站訪問日誌UserAgent解析 125
5.4 SQL實現原理 129
5.4.1 詞法分析 130
5.4.2 語法分析 130
5.4.3 邏輯分析 130
5.4.4 物理分析 136
5.5 SQL調優 137
5.5.1 數據傾斜 137
5.5.2 一些優化建議 140
5.5.3 一些注意事項 141
5.6 小結 141
第6章 通過TUNNEL遷移數據 142
6.1 ODPS TUNNEL 是什麼 142
6.2 入門示例 142
6.2.1 下載和配置 142
6.2.2 準備數據 142
6.2.3 上傳數據 143
6.2.4 下載數據 148
6.3 TUNNEL原理 149
6.3.1 數據如何傳輸 149
6.3.2 客戶端和服務端如何交互 150
6.3.3 如何實現高並發 151
6.4 從HADOOP遷移到ODPS 151
6.4.1 問題分析 151
6.4.2 客戶端實現和分析 152
6.4.3 Mapper實現和分析 155
6.4.4 編譯和運行 157
6.4.5 進一步探討 159
6.5 一些注意點 159
6.6 小結 160
第7章 使用MAPREDUCE處理數據 161
7.1 MAPREDUCE編程模型 161
7.2 MAPREDUCE應用場景 163
7.3 初識ODPS MAPREDUCE 164
7.4 入門示例 165
7.4.1 準備工作 165
7.4.2 問題分析 165
7.4.3 代碼實現和分析 166
7.4.4 運行和輸齣分析 169
7.4.5 擴展:使用Combiner? 171
7.5 TOPK查詢 173
7.5.1 場景和數據說明 174
7.5.2 問題分析 174
7.5.3 具體實現分析 175
7.5.4 運行和結果輸齣 179
7.5.5 擴展:忽略Stop Words 180
7.5.6 擴展:數據和任務統計 182
7.5.7 擴展: MR2模型 184
7.6 SQL和MAPREDUCE,用哪個? 186
7.7 小結 186
第8章 MAPREDUCE進階 187
8.1 再談SHUFFLE & SORT 187
8.2 好友推薦 188
8.2.1 場景和數據說明 188
8.2.2 問題定義和分析 189
8.2.3 代碼實現 190
8.3 LBS應用探討:周邊定位 193
8.3.1 場景和數據說明 193
8.3.2 問題定義和分析 194
8.3.3 代碼實現和分析 195
8.3.4 運行和測試 199
8.4 MAPREDUCE調試 200
8.4.1 帶bug的代碼 200
8.4.2 通過本地模式調試 201
8.4.3 通過Counter調試 201
8.4.4 通過log調試 202
8.5 一些注意點 203
8.6 小結 204
第9章 機器學習算法 205
9.1 初識ODPS算法 205
9.2 入門示例 205
9.2.1 通過CLT統計分析 205
9.2.2 通過XLab統計分析 207
9.3 幾個經典的算法 209
9.3.1 邏輯迴歸 209
9.3.2 隨機森林 210
9.4 天貓品牌預測 211
9.4.1 邏輯迴歸 211
9.4.2 隨機森林 218
9.4.3 腳本實現和自動化 228
9.4.4 進一步探討 231
9.5 小結 232
第10章 使用SDK訪問ODPS服務 233
10.1 主要的PACKAGE和接口 233
10.1.1 主要的Package 233
10.1.2 核心接口 233
10.2 入門示例 233
10.3 基於ECLIPSE插件開發 235
10.4 小結 236
第11章 ODPS賬號、資源和數據管理 237
11.1 權限管理 237
11.1.1 賬號授權 237
11.1.2 角色(Role)授權 240
11.1.3 ACL授權特點 241
11.1.4 簡單的Policy授權 242
11.1.5 Role Policy 243
11.1.6 ACL授權和Policy授權小結 245
11.2 資源管理 245
11.2.1 Project內的資源管理 246
11.2.2 跨Project的資源共享 246
11.3 數據管理 247
11.3.1 錶生命周期 248
11.3.2 數據歸並(Merge) 249
11.3.3 數據保護(Project Protection) 249
11.4 小結 251
第12章 深入瞭解ODPS 253
12.1 體係架構 253
12.1.1 客戶端 254
12.1.2 接入層 254
12.1.3 邏輯層 254
12.1.4 存儲/計算層 255
12.2 執行流程 256
12.2.1 提交作業 256
12.2.2 運行作業 256
12.2.3 查詢作業狀態 256
12.2.4 執行邏輯圖 256
12.3 底層數據存儲 257
12.3.1 CFILE是什麼 257
12.3.2 CFILE邏輯結構 257
12.4 內聚式框架 258
12.4.1 元數據 258
12.4.2 運維管理 258
12.4.3 多控製集群和多計算集群 259
12.5 跨集群復製 260
12.5.1 數據遷移 260
12.5.2 跨集群同步 261
12.6 小結 264
第13章 探索ODPS之美 265
13.1 R語言數據探索 265
13.1.1 安裝和配置 265
13.1.2 一些基本操作 265
13.1.3 分析建模 265
13.2 實時流計算 267
13.3 圖計算模型 268
13.4 準實時SQL 269
13.5 機器學習平颱 270
附錄一 ODPS消息認證機製 271
後記 274
· · · · · · (
收起)
評分
☆☆☆☆☆
基本上還算一本不錯的入門,雖然細節方麵談的不多,底層也不夠深入,但畢竟是少有的ODPS書籍,且覆蓋麵很全,例子也還行
評分
☆☆☆☆☆
這本書在四年前成書,有些內容已經過時瞭,不過還是從書中重新的係統化瞭解瞭ODPS,至少對於SQL方麵會更有數瞭。在運用之前可以快速瀏覽一次,做到心中有數。
評分
☆☆☆☆☆
感覺內容組織非常混亂,看完一遍下來講的是什麼完全沒印象;部分章節內容已經落伍,已經通過sql實現的功能為何還要講如何用hadoop MR實現?每章講一點就開始講工具怎麼安裝,分析代碼。應用場景太多,不是每個讀者都需要,集中放在最後兩三章內容就夠瞭。真正odps自己的東西講的太少。
評分
☆☆☆☆☆
應該叫使用入門
評分
☆☆☆☆☆
看數據平颱的雲化
評分
☆☆☆☆☆
谈起ODPS,还得从阿里金融的故事说起。一直以来,阿里金融始终是ODPS的第一客户,见证了ODPS一路的成长历程。几年的坚持和信任,我们一起走了过来,而且越走越好。 2010年初,集群规模只有几十台,为了完成阿里金融的信贷产品的模型计算,每天增量同步1TB左右的数据,执行几十...
評分
☆☆☆☆☆
谈起ODPS,还得从阿里金融的故事说起。一直以来,阿里金融始终是ODPS的第一客户,见证了ODPS一路的成长历程。几年的坚持和信任,我们一起走了过来,而且越走越好。 2010年初,集群规模只有几十台,为了完成阿里金融的信贷产品的模型计算,每天增量同步1TB左右的数据,执行几十...
評分
☆☆☆☆☆
谈起ODPS,还得从阿里金融的故事说起。一直以来,阿里金融始终是ODPS的第一客户,见证了ODPS一路的成长历程。几年的坚持和信任,我们一起走了过来,而且越走越好。 2010年初,集群规模只有几十台,为了完成阿里金融的信贷产品的模型计算,每天增量同步1TB左右的数据,执行几十...
評分
☆☆☆☆☆
谈起ODPS,还得从阿里金融的故事说起。一直以来,阿里金融始终是ODPS的第一客户,见证了ODPS一路的成长历程。几年的坚持和信任,我们一起走了过来,而且越走越好。 2010年初,集群规模只有几十台,为了完成阿里金融的信贷产品的模型计算,每天增量同步1TB左右的数据,执行几十...
評分
☆☆☆☆☆
谈起ODPS,还得从阿里金融的故事说起。一直以来,阿里金融始终是ODPS的第一客户,见证了ODPS一路的成长历程。几年的坚持和信任,我们一起走了过来,而且越走越好。 2010年初,集群规模只有几十台,为了完成阿里金融的信贷产品的模型计算,每天增量同步1TB左右的数据,执行几十...