Elasticsearch集成Hadoop最佳實踐(Elasticsearch for Hadoop) Elasticsearch集成Hadoop最佳实践

爾瑪·舒克拉

立即出貨 (庫存=1)

買這商品的人也買了...

商品描述

ElasticSearch是一個開源的分佈式搜索引擎,具有高可靠性,支持非常多的企業級搜索用例。Elasticsearch Hadoop作為一個完美的工具,用來連接 Elasticsearch 和 Hadoop 的生態系統。通過Kibana技術,Elasticsearch Hadoop很容易從Hadoop 生態系統中獲得大數據分析的結果。
本書全面介紹Elasticsearch Hadoop技術用於大數據分析以及數據可視化的方法。內容共分7章,包括Hadoop、Elasticsearch、 Marvel和 Kibana 安裝;通過編寫 MapReduce 作業,把Hadoop數據導入 Elasticsearch;全面分析 Elasticsearch本質,如全文本搜索分析、 查詢、 篩選器和聚合;使用 Kibana創建各種可視化和交互式儀表板,並使用Storm和 Elasticsearch分類現實世界的流數據以及相關的其他主題。
本書適合從事大數據分析人員、大數據應用開發的人員參考,也適合高等院校及培訓機構相關專業的師生教學參考。

作者簡介

作者:賈傳青

賈傳青,數據架構師,Oracle OCM,DB2遷移之星,TechTarget特約作家,從數據庫向大數據轉型的先行者,酷愛攝影。

曾服務於中國聯通、中國電信、建設銀行、PICC等,目前供職於一家大數據解決方案提供商,致力於大數據技術的應用與實踐。

著有《開源大數據分析引擎Impala實戰》一書。

目錄大綱

第1章環境部署1
1.1安裝部署Hadoop集群1
Java安裝和配置2
用戶添加和配置2
SSH認證配置3
Hadoop下載4
環境變量配置4
Hadoop配置5
配置core—site.xml6
配置hdfs—site.xml6
配置yarn —site.xml6
配置mapred—site.xml7
格式化HDFS7
啟動Hadoop進程8
1.2安裝Elasticsearch及相關插件8
下載Elasticsearch9
配置Elasticsearch9
安裝Head插件11
安裝Marvel插件11
啟動Elasticsearch12
1.3運行WordCount示例13
下載編譯示例程序13
將示例文件上傳到HDFS13
運行第一個作業14
1.4使用Head和Marvel瀏覽數據16
使用Head瀏覽數據16
初識Marvel18
使用Sense瀏覽數據19
小結21
第2章初識ES—Hadoop22
2.1理解WordCount程序23
理解Mapper23
理解Reducer24
理解Driver25
使用舊的API——org.apache.hadoop.mapred28
2.2實際案例——網絡數據監控28
獲取並理解數據28
明確問題29
解決方案30
解決方案1——預聚合結果30
解決方案2——直接查詢聚合結果32
2.3開發MapReduce作業33
編寫Mapper類34
編寫Dr iver37
編譯作業38
上傳數據到HDFS41
運行作業41
查看TOPN結果42
2.4將數據從Elasticsearch寫回HDFS44
了解Twitter數據集44
導入Elasticsearch45
創建MapReduce作業46
編寫Tweets2HdfsMapper46
運行示例50
確認輸出50
小結52
第3章深入理解Elasticsearch53
3.1理解搜索53
觀念轉換54
索引54
類型55
文檔55
字段55
3.2與Elasticsearch交互56
Elasticsearch的CRUD56
創建文檔56
獲取文檔57
更新文檔58
刪除文檔58
創建索引58
映射59
數據類型60
創建映射61
索引模板62
3.3控制索引過程63
什麼是反轉索引63
輸入數據分析64
停止詞64
大小寫65
詞根65
同義詞65
分析器65
3.4Elastic查詢67
編寫查詢語句68
URI查詢68
match_all查詢68
term查詢68
boolean查詢70
match查詢71
range查詢72
wildcard查詢73
過濾器73
3.5聚合查詢75
執行聚合查詢76
terms聚合76
histogram聚合78
range聚合78
geodistance聚合79
嵌套聚合81
自測題82
小結82
第4章利用Kibana進行大數據可視化83
4.1安裝部署83
Kibana安裝84
準備數據84
自測題85
啟動Kibana86
4.2數據發現87
4.3數據可視化90
餅圖91
堆積柱狀圖94
使用堆積柱狀圖完成日期直方圖96
面積圖97
餅圖組圖98
環形圖98
瓦片地圖99
自測題100
4.4動態圖表101
小結104
第5章實時分析105
5.1了解Twitter趨勢分析器105
實現目標106
ApacheStorm安裝107
5.2將流式數據接入Storm107
編寫Stormspout108
編寫Stormbolt110
創建Stormtopology112
編譯運行Storm作業113
5.3趨勢分析114
significantterm聚合114
使用Kibana分析趨勢116
5.4使用Percolator對推文分類117
Percolator118
Percolator優化120
推文分類121
小結124
第6章ES—Hadoop配置125
6.1分佈式環境中的Elasticsearch125
集群和節點126
節點類型126
節點發現128
數據分佈129
分片129
副本129
分片分配130
6.2ES—Hadoop架構132
動態並行132
寫入Elasticsearch133
從Elasticsearch中讀取134
失敗捕獲134
數據本地化135
6.3生產環境配置135
硬件135
內存135
CPU135
磁盤136
網絡136
集群安裝137
集群拓撲結 137
設置名稱138
設置路徑138
設置內存139
腦裂問題140
設置恢復參數141
預設配置142
數據導入142
全文檢索144
快速聚合144
生產環境部署檢查列表145
6.4集群管理146
監控集群健康146
備份和恢復149
數據備份149
數據恢復150
小結151
第7章與Hadoop生態系統集成152
7.1與Pig集成152
Pig安裝154
向Elasticsearch中導入數據155
從JSON源寫數據157
類型轉換157
從Elasticsearch中讀取數據158
7.2與Hive集成158
安裝ApacheHive158
向Elasticsearch中導入數據159
從JSON源寫數據161
類型轉換161
從Elasticsearch中讀取數據162
7.3與Cascading集成163
向Elasticsearch中導入數據163
編寫一個Cascading作業163
運行作業164
從Elasticsearch中讀取數據165
編寫一個reader作業165
使用Lingual165
7.4與Spark集成167
安裝Spark168
向Elasticsearch中導入數據168
使用SparkSQL向Elasticsearch中導入數據169
從Elasticsearch中讀取數據170
使用SparkSQL從Elasticsearch中讀取數據170
7.5與YARN集成171
小結 172

 

附錄配置174
基本配置174
es.resource174
es.resource.read174
es.resource.write175
es.nodes175
es.port175
讀寫配置175
es.query175
es.input.json176
es.write.operation177
es.update.script177
es. update.script.lang177
es.update.script.params177
es.update.script.params.json178
es.batch.size.bytes178
es.batch.size.entries178
es.batch.write.refresh178
es.batch.write.retry. count178
es.batch.write.retry.wait179
es.ser.reader.value.class179
es.ser.writer.value.class179
es.update.retry.on.conflict179
映射配置179
es.mapping.id179
es.mapping.parent180
es.mapping.version180
es.mapping.version.type180
es.mapping.routing180
es.mapping.ttl180
es.mapping.timestamp181
es.mapping.date.rich181
es.mapping.include181
es.mapping.exclude181
索引配置181
es.index .auto.create181
es.index.read.missing.as.empty182
es.field.read.empty.as.null182
es.field.read.validate.presence182
網絡配置182
es.nodes.discovery182
es.nodes.client.only183
es.http.timeout183
es.http.retries183
es.scroll.keepalive183
es.scroll.size183
es.action.heart.beat.lead183
認證配置184
es.net.http.auth.user184
es.net.http.auth.pass184SSL配置184
es.net.ssl184
es.net.ssl.keystore. location184
es.net.ssl.keystore.pass184
es.net.ssl.keystore.type184
es.net.ssl.truststore.location184
es.net.ssl.truststore.pass185
es.net.ssl.cert.allow.self.signed185
es.net.ssl.protocol185
es.scroll.size185
代理配置185
es.net.proxy.http.host185
es.net.proxy.http.port185
es.net.proxy.http.user185
es.net.proxy.http. pass186
es.net.proxy.http.use.system.props186
es.net.proxy.socks.host186
es.net.proxy.socks.port186
es.net.proxy.socks.user186
es.net.proxy.socks.pass186
es.net.proxy.socks.use.system.props186