《Apache Drill學習手冊》是中國電力出版社出版的圖書,作者是[美] Charles Givre,[美] Paul Rogers
基本介紹
- 中文名:Apache Drill學習手冊
- 作者:[美] Charles Givre、[美] Paul Rogers
- 出版時間:2020年5月
- 出版社:中國電力出版社
- 頁數:332 頁
- ISBN:9787519849399
- 定價:88 元
- 裝幀:平裝
- 原作品:Learning Apache Drill
內容簡介,圖書目錄,作者簡介,
內容簡介
主要內容
·使用Drill來清洗、準備和匯總原始數據供後期分析使用。
·對日誌檔案、Parquet檔案、JSON和其他複雜的數據檔案進行查詢。
·使用標準SQL對Hadoop、關係型資料庫、MongoDB和Kafka進行查詢。
·通過各種程式語言訪問Drill。
·使用Drill分析各種結構複雜或存在二義性的數據。
·通過自定義函式擴展Drill的功能,完成複雜的分析任務。
·為網路安全、圖片元數據或機器學習數據提供分析能力。
圖書目錄
前言 1
第1 章 Apache Drill 入門 7
什麼是Apache Drill 8
Drill 用途廣泛 8
Drill 非常易用 10
有關Drill 的性能 11
大數據簡史 11
大數據生態中的Drill 13
Drill 與類似工具的比較 13
第2 章 安裝與運行 15
準備系統環境 16
Windows 環境下的特殊配置 16
在Windows 上安裝Drill 18
在Windows 上啟動Drill 18
在macOS 或Linux 上安裝嵌入模式的Drill 19
在macOS 或Linux 上以嵌入模式運行Drill 20
在macOS 或 Linux 上安裝分散式模式的Drill 21
為Drill 準備集群環境 22
啟動分散式模式的Drill 23
連線集群 23
小結 24
第3 章 Apache Drill 概述 25
Apache Hadoop 生態 25
Drill 是一個低延遲的查詢引擎 26
使用HDFS 進行分散式數據處理 27
Drill 系統結構 27
Drill 操作概覽 28
Drill 是一個查詢引擎,不是資料庫 29
Drill 操作概述 30
Drill 組件 30
SQL 會話狀態 30
編譯查詢語句 31
查詢語句執行 36
低延遲特性38
小結 41
第4 章 查詢包含分隔設定的數據 42
通過Drill 查詢數據的幾種方式 42
其他操作接口 43
Drill SQL 查詢格式 44
選擇數據源44
定義工作區46
指定默認數據源 47
在查詢中訪問列 49
帶表頭並包含分隔設定的數據 51
Table 函式 53
查詢目錄中的數據 53
理解Drill 的數據類型 55
使用字元串處理函式清洗和準備數據 57
複雜數據轉換函式 59
操作Drill 中的日期和時間 60
把字元串轉換為日期 61
對日期進行重新格式化 63
日期計算與操作 63
Drill 中的日期時間函式 64
創建視圖 65
使用Drill 進行數據分析 66
通過聚合函式對數據進行統計 68
查詢包含分隔設定數據的常見問題 75
列名中的空格 75
列名中的非法字元 76
欄位名中的保留字 76
小結 77
第5 章 分析複合與嵌套數據 78
數組與Map 78
Drill 中的數組 79
在Drill 中訪問Map(鍵– 值對) 81
查詢嵌套數據 83
使用Drill 分析日誌檔案 91
配置Drill 讀取httpd Web 伺服器的日誌 91
查詢Web 伺服器日誌 92
用Drill 對其他類型的日誌進行分析 97
小結 100
第6 章 把Drill 連線到數據源 101
查詢多種數據源 102
配置新的存儲外掛程式 102
用Drill 連線關係型資料庫 103
通過Drill 查詢Hadoop 數據 108
用Drill 連線並查詢HBase 108
用Drill 查詢Hive 數據 110
連線Kafka 查詢流數據 113
提高Kafka 查詢的性能 115
連線並查詢Kudu 115
用Drill 連線並查詢MongoDB 數據 116
把Drill 連線到雲存儲 116
用Drill 從OpenTSDB 查詢時間序列數據 121
小結 122
第7 章 連線Drill 123
理解Drill 的接口 123
JDBC 與Drill 124
ODBC 與Drill 125
Drill 的REST 接口 127
使用Python 連線Drill 128
使用drillpy 對Drill 發起查詢 129
使用pydrill 連線Drill 130
其他通過Python 連線Drill 的方法 131
用R 語言連線Drill 133
使用sergeant 在R 中查詢Drill 133
通過Java 連線Drill 135
在PHP 中查詢Drill 136
使用連線器137
在PHP 中執行Drill 查詢 137
在PHP 中操作Drill 138
使用Nodejs 查詢Drill 139
在BI 工具中使用Drill 作為數據源 139
使用Apache Zeppelin 和Drill 分析數據 139
使用Apache Superset 分析數據 145
小結 151
第8 章 用Drill 完成數據工程工作 152
讀時Schema 152
SQL 關係模型 153
數據生命周期:數據探索到生產 154
Schema 推導 155
數據源推導 155
存儲外掛程式 156
存儲配置 156
工作區 157
查詢目錄 159
默認Schema 159
檔案類型推導 160
格式外掛程式與格式配置 160
格式推導 161
檔案格式變種 162
Schema 推導概述163
分散式掃描 165
帶分隔設定數據的Schema 推導 167
CSV 檔案處理小結 173
JSON 檔案的Schema 推導 175
二義性數值Schema 178
在檔案間保證Schema 一致 184
JSON 對象 186
Drill 中的JSON 列表 189
JSON 小結 193
在Drill 中使用Parquet 檔案格式 194
Parquet 中的Schema 進化 195
分區數據目錄 195
定義表工作區 198
處理生產環境中的查詢 199
捕捉Schema 映射視圖 199
在腳本中運行複雜查詢 200
小結 201
第9 章 在生產環境部署Drill 202
安裝Drill 202
前置需求 203
生產環境安裝 204
配置ZooKeeper 205
記憶體配置 206
配置日誌 208
測試安裝是否成功 209
分發Drill 執行檔和配置 210
啟動Drill 集群 211
配置存儲 212
使用Apache Hadoop HDFS 213
使用Amazon S3 214
準入控制 217
其他配置 219
用戶自定義函式與自定義外掛程式 219
安全 220
日誌級別 220
控制CPU 使用 222
監控 223
監控Drill 的進程 224
監控JMX 指標 224
監控查詢 225
其他部署選項 225
MapR 安裝程式 226
Drill-on-YRAN 226
Docker 226
小結 227
第10 章 搭建開發環境 228
安裝Maven 228
創建Drill 的編譯環境 229
設定Git 並獲取原始碼 229
從代碼編譯Drill 230
安裝IDE 231
小結 231
第11 章 編寫用戶自定義函式 232
用例:找出合法的信用卡號碼 232
Drill 中的用戶自定義函式是怎么工作的 234
Drill 的簡單UDF 結構 234
pomxml 檔案 235
函式檔案 236
簡單函式API 240
完整的代碼241
構建與安裝UDF 243
靜態安裝UDF 243
動態安裝UDF 243
複合函式:返回Map 或數組的UDF 244
例子:解析User Agent 元數據 245
ComplexWriter 對象 246
編寫聚合UDF 248
聚合函式API 249
聚合UDF 示例:肯德爾秩相關係數 249
小結 252
第12 章 編寫格式外掛程式 253
正則表達式格式外掛程式 253
基於Easy 框架創建格式外掛程式 255
創建Maven 的pomxml 檔案 256
創建外掛程式包258
Drill 模組配置 258
格式外掛程式配置 259
注意事項 259
創建正則表達式格式外掛程式配置類 260
著作權聲明頭與代碼格式 262
測試配置 262
解決配置問題 263
排查問題 264
創建格式外掛程式類 264
創建測試檔案 267
配置RAT 267
高效調試 267
創建單元測試 268
Drill 是如何找到外掛程式的 270
記錄讀取器 270
測試讀取器的殼 273
日誌 274
出錯處理 274
初始化 275
解析正則表達式 276
定義列名 276
投影 277
記錄列投影映射 278
空投影 278
全投影 279
部分投影 279
打開檔案 281
記錄批 282
Drill 的列存結構 282
定義向量 283
讀取數據 284
把數據放入向量 285
釋放資源 286
測試讀取器 286
測試通配符場景 286
測試顯式投影 288
測試空投影288
擴展 288
其他細節 290
檔案塊 290
默認格式配置 290
下一步 292
生產版本 292
給Drill 貢獻代碼:使用Pull Request 292
維護你的分支 293
創建外掛程式項目 293
小結 294
第13 章 特殊用法 296
查找在特定區域拍攝的照片 296
分析Excel 檔案 297
pomxml 檔案 298
Excel 自定義記錄讀取器 299
使用Excel 格式外掛程式 303
用Drill 分析網路數據包(PCAP 檔案) 304
查詢PCAP 數據檔案的例子 304
使用Drill 分析Twitter 數據 308
在機器學習流程中使用Drill 309
通過Drill 進行預測 310
建立與序列化模型 310
編寫UDF 封裝類 311
通過UDF 進行預測 313
小結 313
附錄A Drill 函式列表 315
附錄B Drill 格式化字元串 331
作者簡介
Charles Givre擁有CISSP認證,是德意志銀行中央安全辦公室(CSO)的首席數據科學家,還是布蘭迪斯大學專業研究生院的戰略分析項目的主席。他曾在Strata、BlackHat等國際會議上進行了有關數據科學和安全的演講和培訓。他是Apache Drill項目的PMC成員。他擁有亞利桑那大學的計算機科學理學學士學位和長號演奏音樂學士學位以及布蘭迪斯大學的文學碩士學位。閒暇時間他會跟妻子和孩子們一起玩或是修復英國跑車。 Paul Rogers是Apache Drill項目的PMC成員並長期進行系統開發。Paul曾就職於Informix(關係型資料庫)、Rational(Rational Rose,UML工具)、Versant(對象資料庫)、Actuate(早期的BI工具供應商)、Skytide(早期的大數據分析公司)、Oracle、MapR和Cloudera。他對系統的內部實現很感興趣:他開發了Drill-on-YARN功能並最佳化了Drill的向量記憶體管理。Paul擁有加州大學聖塔芭芭拉分校的理學學士學位和加州大學伯克利分校的工商管理碩士學位。